您的位置:首页 > 编程语言 > Python开发

Python函数、类的导入和文件操作总结

2020-06-05 07:27 162 查看

调用函数有三种方式

一,导入整个模块(所有函数)

导入 import module_name

调用 module_name.function_name()

    #在这种情况中,不会出现下面两种方式的缺点,即具有相同函数名的问题,因为一个文件中不存在两个相同的文件名。但缺点是能不清晰显示出使用到的函数,调用的时候也需要重复写模块名。

 

二,导入模块中单个或多个函数

导入 from module_name import function_name1(,function_name2...)

调用function_name()

    #在这种情况中,虽然能清楚的表示出使用到的函数,如果是多个不同的模块,但其中的函数名有重叠时,后导入的模块函数为能使用的函数,即产生覆盖函数。

 

三,导入模块中所有的函数

导入 from module_name import *

调用 function_name()

    #这种方法不推荐使用,因为它集合了前两种方式的缺点,即导入不清晰,调用全部函数会更容易造成覆盖函数。

 

 

 

 

 

 

导入类

一,导入整个模块(所有类)

导入 import module_name

调用类的属性和方法:创造实例X = module_name.class_name( ,)

                                        X.属性

                                        X.方法()

#虽然开头没有列出用到的所有类,但你清楚地知道在程序的哪些地方使用了导入的模块,还避免了导入模块中的每个类可能引发的名称冲突。

 

二,导入单个或多个类

导入 from module_name import class_name1(,class_name2 ...)

调用类的属性和方法: 创造实例X = class_name( ,)

                                        X.属性

                                        X.方法()

#清楚地列出用到的类,但可能会造成名称的冲突

 

三,导入模块中所有的类

导入 from module_name import *

调用类的属性和方法: 创造实例X = class_name( ,)

                                         X.属性

                                         X.方法()

#不推荐使用,即没有列出使用到的类,又有可能造成名称冲突。

总结:二、三方法:假如类名相同,将会产生覆盖类,即后输入的类有效,即使前面的类中的属性和方法比覆盖类多,也将无效。简而言之,产生覆盖后,前面的类将全部无效。

 

 

文件

读取文件

#以下file_object为一个变量,可以随意设置名称。

with open('(文件路径)file_name') as file_object:

   x = file_object.read()

或 for line in file_object:

或 lines = file_object.readlines()    

#for循环遍历文件中每一行

#方法readlines从文件中读取每一行,并将其存储在一个列表中

 

写入文件(如果没有文件则自动新建一个)

with open('(文件路径)file_name','w') as file_object:

file_object.write('数据')

 

附加模式

with open('(文件路径)file_name','a') as file_object:

file_object.write('数据')

 

 

 

存储数据(写入后可以立即调用)

json.dump()和json.load()的使用示例:

   import json

   numbers = [2,3,4,5,6,8]

   filename = 'numbers.json'(文件名)

   with open(filename,'w') as f_obj:

       json.dump(numbers,f_obj)

 

   import json

   filename = 'numbers.json'

   with open(filename,'w') as f_obj:

       numbers = json.load(f_obj)

   print(numbers)

转载于:https://www.cnblogs.com/A4ril/p/6677866.html

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: