Python---7.函数
·
函数:函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内置函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。
- 函数的定义:函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。函数内容以冒号起始,并且缩进。
语法:def 函数名(参数):代码1代码2.....
- 函数的调用:定义一个函数只给了函数一个名称,指定了函数里包含的参数和代码块结构。
函数必须调用才会进行执行。不同的需求,参数可有可⽆。在Python中,函数必须先定义后使⽤。语法:函数名()
- 函数的参数作用:
- 必备参数:必备参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。调用函数,你必须传入一个参数,不然会出现语法错误。
# 定义函数时同时定义了接收⽤户数据的参数a和b def func(a, b): result = a + b print(result) # 调⽤函数时传⼊了真实的数据10 和 20 func(10, 20) - 默认参数:调用函数时,默认参数的值如果没有传入,则被认为是默认值。
def func(name="张三",age=18): print(f"大家好,我是{name},今年{age}岁了") func() # 大家好,我是张三,今年18岁了 func(name="李四",age=19) # 大家好,我是李四,今年19岁了 - 不定长参数:python自定义函数中有两种不定长参数,第一种是*XXX,通常写成*args,在传入额外的参数时可以不用指明参数名,直接传入参数值即可。第二种是**XXX,通常写成**kwargs,这种类型返回的是字典,传入时需要指定参数名。
# 加了一个星号 * 不定长参数会以元组(tuple)的形式导入,存放所有未命名的变量参数。 # 加了两个星号 ** 的参数会以字典的形式导入,存放已命名的变量参数。 def func(*args): print(args) func(1,2,3,4,4,5) def func2(a, b, *args): print(a, b, *args) func2(1,2,3,4,4,5) # 这样会将1,2传给a,b,另外多余的全部传给*args def func3(num, *args, **kwargs): print(num) print(args) print(kwargs) func3(11, 22, 33, a=18, b=19, c=20) - 位置传参和关键字传参:位置传参和关键字传参与函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。
def func(name,age): print(f"我是{name},今年{age}岁") name = "张三" age = 18 # 函数在调用的时候将定义好的name和age传递进去,参数位置也需要一致 func(name=name,age=age)
- 必备参数:必备参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。调用函数,你必须传入一个参数,不然会出现语法错误。
- 函数的返回值作用:返回值,顾名思义就是将函数的结果返回;为什么要返回函数的结果呢?方便后续的使用。比如现在有一个函数A,运算了10个数的和;还有一个函数B,希望传递一个数字进来,然后将这个数字乘以100;那如果想将函数A运算的结果放到函数B中去使用,那么就必须给函数A添加一个返回值才可以。
- 返回值的特点:可以是任意类型,一个函数只有一个return,函数遇到return之后就结束了,后面还有其他的代码也不会去执行。
def func(a, b): result = a - b return result # 获取return返回的值并使用 result1 = func(180, 100) print(result1 * 100)
- 返回值的特点:可以是任意类型,一个函数只有一个return,函数遇到return之后就结束了,后面还有其他的代码也不会去执行。
- 内置函数:是已经写好的一些函数,他们美观且强大,我们可以打印dir(__builtins__),查看有哪些内置函数,比如我们常用的。
- min(a) 最小值
- max(a) 最大值
- sorted(a) 排序
- reversed(a) 反转序列
- list(reversed(a)) 逆序
- sum(a) 求和
更多推荐


所有评论(0)