标签:数据类型 规范性 href 应用 one 入参 用户名 代码块 入门
目录
函数就是一种工具,可以重复调用。
通过def
(define)关键字定义函数---> 制造工具
调用函数 ---> 使用工具
def 函数名():
'''
函数的注释,描述函数体代码的功能
'''
代码块1
代码块2
函数名() # 使用函数
# 定义函数(制造工具)
def index(): # index变量名
print('你好,函数!') # 代码块
index() # index访问函数的内存地址,括号是调用的意思
函数名的命名规范与变量名一样
pass
函数先定义后执行,不调用函数,就不会执行函数体代码,只会检测函数体代码的语法规范性
index()
index(name, pwd) # 传入参数执行
index(1, index(3, 2)) # 先执行里面的index
return:是一个函数结束的标志,函数体代码只要执行到return,函数执行结束
不写return,默认返回none
只写return,只有结束函数体代码的效果,返回none
写return none,与只写return的效果相同
return返回一个值:可以将返回的结果,当做一个变量值来使用
return返回多个值
是在函数定义阶段就规定的参数,相当于定义变量时的变量名
是在函数调用阶段传入的参数,相当于定义变量时的变量值
def index(a): # 形参:a相当于变量名,用来接收变量值
print(a)
index(a) # 实参:相当于变量值,将值传入形参
通过位置进行传参
def index(a, b):
print(a, b)
index(1, 3) # 位置参数
指定关键字传参
def index(a, b):
print(a, b)
index(a=1, b=3) # 关键字参数
位置参数一定要写在关键字参数之前
连用的时候,不要对同一个形参重复赋值
def index(a, b, c, d):
print(a, b, c, d)
index(1, 2, c=3, d=4) # 位置参数和关键字参数混用
# 定义在* 和**之间
# 在给命名关键字传值的时候一定要以关键字形式传递
# 关键字参数一定不能放在位置参数前面
def index(x, y, z, a=1, *args, b, **kwargs):
print(x, y, z)
print(args)
print(a, b)
print(kwargs)
index(1, 2, 3,354353, 4342, 3213123, b=222, c=333, d=444)
默认参数:
应用场景:
def reg(username, password, gender):
print(f'用户名:{username} 密码:{password} 性别:{gender})
reg('tank', 'dsb', 'male')
reg('jason', 'dsb', 'male')
reg('engon', 'dsb', 'male')
# 将gender的实参定义为male
def reg(username, password, gender='male'):
print(f'用户名:{username} 密码:{password} 性别:{gender})
reg('tank', 'dsb') # 默认为male
reg('jason', 'dsb')
reg('engon', 'dsb')
reg('胡晨阳', 'dsb', 'female') # femal会去修改male,为femal
官方规定使用*args,但是只要有*就有可以有变长参数的效果
可变长参数:
*args
接收所有溢出的位置参数
**kwargs
:接收所有溢出的关键字参数
# 位置参数
def index(a, b, c, d, *args):
print(a, b, c, d, *args)
index(1, 3, 4, 5, 6, 7, 8, *[8, 9])
# 关键字参数
def index(a, b, c, d, **kwargs):
print(a, b, c, d, *kwargs)
index(1, 3, c=4, d=5, e=6)
标签:数据类型 规范性 href 应用 one 入参 用户名 代码块 入门
原文地址:https://www.cnblogs.com/cnhyk/p/11838394.html