函数
定义
函数名的命名: 用下划线‘_’隔开
注意:
函数只在调用的时候执行
调用函数格式:
函数名()
注意:1.必须先创建函数在调用函数 2.一般情况不要把调用函数放在函数体中
3.函数可以调用多次
def smile():
print('哈哈哈', '嘿嘿嘿')
print('哈哈哈', '嘿嘿嘿')
print('哈哈哈', '嘿嘿嘿')
# .....100行代码
smile()
注释
1.在函数体的第一行使用多行注释对函数名解释说明
2.调用函数的时候使用Ctrl+q 查看函数名的解释,从而了解此参数的功能。
def say_hello():
"""
这是一个打招呼的方法
你好,世界 你好,python
"""
print('Hello World')
print('Hello Python')
say_hello()
参数
函数的参数格式:
def 函数名(参数1,参数2…):
说明:
- 函数定义几个参数,调用函数是就必须传递几个参数
- 参数添加到小括号内,参数之间用逗号‘,’隔开
- 定义时小括号中的参数,用来接收参数用的,称为 “形参”
调用时小括号中的参数,用来传递给函数用的,称为 “实参”
函数的参数分为:
位置参数:实参和形参一一对应,按位置进行传递
关键字参数:在我们传参的时候,以形参等于实参的形式忽略形参的定义顺序,将实参传递给实参。
位置参数和关键字参数混用:位置参数在关键字参数前面,否则报错。
默认参数:在定义关键字形参时,可以给形参赋一个初始值。(默认值)这种参数叫做默认参数。
当调用函数时,没有给默认参数赋值,就会使用默认参数。如果给默认参数赋值,那么就会使用新的参数。
注意:默认参数一定要写在形参的后面
可变参数:格式:*变量名 可以接受多个位置参数
注意事项:1.多个位置参数被组织成一个新的元组 2.一般情况下变量名一般为args----->args
扩展: 具有打散功能
**kwargs------>接受多个关键字参数
创建函数声明参数时的顺序: 位置参数—>*args----->默认参数----->*kwargs
"""位置参数"""
def sum_num(aa, bb):
num1 = aa # num1=10
num2 = bb # num2=2
num3 = num1 + num2
print(num3)
sum_num(10, 2)
# 将参数名内的内容分别赋值给aa,bb。上面程序继续运行,最后打印出num3
"""关键字参数"""
def sum_1(num1, num2):
print(num1)
print(num2)
print(num1 + num2)
sum_1(num1=17, num2=3) # num1和num2位置可以调换
"""关键字参数和位置参数混用"""
def sum_2(num1, num2):
print(num1)
print(num2)
print(num1 + num2)
sum_2(17, num2=3) # 位置参数必须在关键字参数前面
# sum(num1=2,15)程序报错
"""
默认参数
"""
def save_fou(name, age, gender='男'):
print('姓名:{} 年龄:{} 性别:{}'.format(name, age, gender))
save_fou('小高', 12) # 姓名:小高 年龄:12 性别:男
save_fou('小', 12, gender='女') # 姓名:小 年龄:12 性别:女
"""
可变参数
"""
def func(*args):
print(args) # (1, 2, 3, 4, 5)
func(1, 2, 3, 4, 5, )
# *打散功能
def func1(a, b, c):
print(a, b, c, ) # (1, 2, 3)
tup = (1, 2, 3)
func(*tup) # 将tup打散成1,2,3 ,然后分别给a,b,c赋值
# kwargs
def func2(**kwargs):
print(kwargs) # ---->转化为字典类型{'name': 'zs', 'age': 15}
func2(name='zs', age=15)
def func3(name, age):
print(name, age) # zs 12
dic = {'name': 'zs', 'age': 12}
func3(**dic)
参数类型
# 一、可变参数类型
a = [1, 2, 3]
def func(b):
print(b) # [1, 2, 3]
b.append(4)
print(b) # [1,2,3,4]
func(a)
print(a) # [1,2,3,4]
# 二、不可变参数类型
c = 1000
def num_c(d):
print(d) # 1000
d = 200
print(d) # 200
num_c(c)
print(c) # 1000
返回值
ef 函数名(参数1,参数2):
…函数体…
return 值1,值2,…
注意:
1.如果函数不写返回值,默认返回None
2.return 关键字有两个作用,一个作用是返回内容,另一个作用是结束此方法。
3.return 关键字后面不允许在写代码。
# 一、return返回内容
def sum_num(aa, bb):
num3 = aa + bb
return num3
ret = sum_num(10, 2) # 将num返回给ret
print(ret)
# 二、return结束此方法
def func(c):
print('func....')
a = 10
b = c
if b < a:
return
print('xxx')
func(11)
上一篇: 【转载】Python假设检验
下一篇: HyperLogLog
推荐阅读