函数和模块的使用
函数
函数的作用
避免重复,代码有很多种坏味道,重复是最坏的一种!如果一个功能在函数中重复了很多次,我们可以将这个功能封装到一个函数当中,在需要用到这个功能的时候,我们只需要将其调用即可。
函数的使用
我们需要用关键词def来定义函数,在函数名后面的圆括号中可以放置传递给函数的参数,在函数执行完成后,我们可以通过return关键字来返回值。
函数的参数
函数是绝大多数编程语言都支持的一个代码的构建块。在Python中,函数的参数值可以有默认值,也支持使用可变参数,所以Python并不需要像其他语言一样支持函数的重载,因为我们在定义函数时可以让它有多种不同的使用方式。
def name (n = 5):
"""函数名字为name,默认值为5"""
for x in range (n):
print('我爱学Python')
name ()
#输出五次我爱学Python
name (3)
#输出三次我爱学Python
我们也可能会对0个或多个参数进行加法运算,而具体有多少个参数是由调用者来决定的,因此在不确定参数个数时,我们可以使用可变参数,在参数名前加*表示这是一个可变参数.
# 在参数名前面的*表示args是一个可变参数
def add(*args):
total = 0
for val in args:
total += val
return total
# 在调用add函数时可以传入0个或多个参数
print(add())
print(add(1))
print(add(1, 2))
print(add(1, 2, 3))
print(add(1, 3, 5, 7, 9))
用模块管理函数
在多人协作进行团队开发时,我们有可能会把一个相同的名字命名给不同功能的函数导致程序无法实行.我们该怎么解决这种问题呢?
答案很简单,Python中每一个文件就代表了一个模块,我们在不同的模块当中,可以有相同命名的函数.只需要用关键字import来导入指定模块就可以区分到底使用的是哪个模块当中的函数.
如果有一个模块被命名为m1,另一个模块被命名为m2.两个都含有一个同名功能却不同的函数han
- 我们可以这样使用
from m1 import han
han () - 也有另外一种用法
import m1 as han
import m2 as han
m1.han()
m2.han() - 但如果写成下面的格式,最后调用的哪个模块的函数会覆盖掉之前调用的模块的函数.
from m1 import han
from m2 import han
han()
值得注意的是
如果我们导入的模块除了定义函数之外,还有可以执行的代码.那么Python解释器在导入这个模块的时候,就会执行这些代码,当我们一般并不希望这么做,所以如果我们在模块中编写了执行代码,最好将这些执行代码放入如下所示的条件中,这样的话,除非直接运行该模块,if条件下的这些代码是不会执行的,因为只有直接执行的模块的名字才是"main"。而__name__是Python中一个隐含的变量它代表了模块的名字。
来源:CSDN
作者:DiCocc
链接:https://blog.csdn.net/ni_hu_da_ye/article/details/104712123