python3笔记–模块的使用
函数的优点之一就是可以将代码块和主程序分离使用。可以将函数存储在被称为模块的独立文件中,再将模块导入到主程序中。import语句可以在当前运行的程序文件中导入模块中的代码并使用。同时将函数存储在独立的文件之后,可以与其它的程序共享这些文件。
1、导入整个模块
首先创建模块,才可以导入模块。在python中模块的扩展名是.py的文件,里边包含有要导入到程序中的代码。
#模块person.py
def personal(name,age,**message):
print("你的信息:")
per ={}
per['name'] = name
per['age'] = str(age)
for key,value in message.items():
per[key] = value
return per
def user(usernames):
for name in usernames:
print("Hello," , name)
然后,在person.py所在的目录继续创建另一个see.py的文件,在这个文件中导入刚刚创建的模块,然后在调用模块中的personal函数。
注:如果导入整个模块,则调用函数时必须指明使用的函数名。格式:module_name.function_name()
例如下面的person.personal()。
import person #导入刚刚创建的模块
#调用模块中的personal()函数
u = person.personal('rose',20,location = 'princeton',hobby = 'play games')
print(u)
输出:
你的信息:
{'name': 'rose', 'age': 20, 'location': 'princeton', 'hobby': 'play games'}
2、导入特定的函数
导入特定函数语法格式:from module_name import function_name
导入任意数量函数语法格式:from module_name import function_0,function_1,function_2
导入任意数量函数时,注意使用逗号分隔。
如果在主程序中使用这种方法调用要使用的函数,则使用时不必指定模块名。
from person import personal,user #导入模块中的特定函数
#调用时不需要指定模块名
people = personal('rose',19,location = 'paris',hobby = 'basketball')
print(people)
print("\n")
u = ['alice','tom','jack','rose']
user(u)
输出:
你的信息:
{'name': 'rose', 'age': '19', 'location': 'paris', 'hobby': 'basketball'}
Hello, alice
Hello, tom
Hello, jack
Hello, rose
3、使用as给函数指定别名
如果导入的函数名称可能与程序中现有的名称冲突,或者名称太长,可以使用as指定一个简短的独一无二的别名。
from person import personal as pe #导入函数时指定函数别名
person = pe('rose',19,location = 'paris',hobby = 'basketball')
print(person)
4、使用as给模块指定别名
import person as p
user = p.personal('rose',19,location = 'paris',hobby = 'basketball')
print(user)
5、导入模块的所有函数
想要导入模块中的所有函数就需要使用(*)这个符号。将所有模块导入到主程序中,这时候调用函数的时候也不需要指定模块名称。
from person import *
user = personal('rose',19,location = 'paris',hobby = 'basketball')
print(user)
注:导入模块所有函数的方法尽量少用,因为你需要导入的模块中可能会和主程序中使用的名称相同,有的时候会有意料之外的结果。同样也会有可能将你使用的变量或者是函数覆盖,这个时候就不是导入函数,而是改变函数了。
函数编写标准建议:
1、给函数赋予具有描述性地名称,并且只使用小写和下划线
2、每个函数都需要阐述其功能,因为别人可能会使用你创建的模块
3、给形参指定默认值时等号两边不要有空格,引入实参时也需要遵守这种约定
4、代码行的长度不超过窗口编辑器