函数初识
函数
- 以功能(需求)为导向,对代码块和功能的封装和定义
- 一个函数封装一个功能
- 减少了代码重复性,增强代码可读性
函数名
- 函数名命名规则与变量名一致.
- 一定要具有可描述性(命名必须有意义)
函数的定义 : del 函数名()
- 函数名的命名规则和使⽤和变量基本⼀样
函数体
- 就是函数被执⾏之后要执⾏的代码
del 函数名()
函数体 # 函数体: 就是函数被执⾏之后要执⾏的代码
函数的调用 : 格式 : 函数名()
- 使⽤函数名可以调⽤函数 , 写法: 函数名(), 这个时候函数的函数体会被执⾏
函数的返回值 return
- return 只在函数中用
- 在函数中如果不写return 表示函数没有返回值。调用方(函数的执行者 即 : 函数名())接收到的是
- 在函数中写了return。 但是return后面不跟值, 表示函数没有返回值。 接受的也是。
- return 可以终止一个函数的运行 (类似,终止本层下面的运行)
def yue():
print("约你")
print("约我")
print("约他")
return
print("约谁呀") # 这句话不会被执⾏
yue() # 打印出的是函数体里的内容
ret = yue()
print(ret) # 结果是None
print(yue) # 打印结果是yue的内存地址
- 在函数中写return。 return后面跟一个值
def yue():
print("约你")
print("约我")
print("约他")
return "美⼥⼀枚"
girl = yue()
print(girl) # 美⼥⼀枚
- 在函数中写return。 return 后面可以跟上多个值, 表示返回多个值。 接收方收到的是元组(tuple) , 调⽤者可以直接 解构 成多个变量
def yue():
print("约你")
print("约我")
print("约他")
return "美⼥⼀枚", "萝莉⼀枚"
girl = yue()
print(type(girl)) # 结果是tuple
print(girl) # ('美⼥⼀枚', '萝莉⼀枚')
a,b = girl[0],girl[1]
print(a,b) # 美⼥⼀枚 萝莉⼀枚
函数的参数
参数:
- 参数, 函数在调⽤的时候指定具体的⼀个变量的值. 就是参数
def 函数名(参数列表): # 参数列表出就是形参
函数体
形参
- 写在函数声明的位置的变量叫形参. 形式上的⼀个完整. 表⽰这个函数需要xxx
形参分类 :
1. 位置参数 :
- 按照位置给形参赋值
2. 默认值参数 :
- 当给参数传递值的时候。 默认值不起作用 ; 不给值 , 默认值起作用. 保证你至少有个值能用
- 顺序: 位置参数必须放在前面。 默认值参数必须放在位置参数后面
def regist(name, age=18,sex="男"): # sex = "男" 就是默认值参数
print(name, age, sex)
regist("刘伟", 22)
regist("李铁帅", 27)
regist("高晓燕", 18, "女")
regist("李铁帅", 27)
regist("李铁帅", 27)
regist("李铁帅", 27)
regist("李铁帅", 27)
regist("李铁帅", 27)
# 打印结果 :
刘伟 22 男
李铁帅 27 男
高晓燕 18 女
李铁帅 27 男
李铁帅 27 男
李铁帅 27 男
李铁帅 27 男
李铁帅 27 男
3. ??? 动态参数
4.仅限关键字参数(了解)
实参
- 在函数调⽤的时候给函数传递的值. 叫实参, 实际执⾏的时候给函数传递的信息. 表⽰给函数 xxx
实参分类 :
- 类似文件操作的with open里的内容格式 : 文件地址,mode(关键字参数),encoding(关键字参数)
1. 位置参数 :
- 按照位置给形参赋值
def my_max(a, b):
if a > b:
return a
else:
return b
# 有点⼉麻烦, 我们在这⾥学⼀个 三元(目)运算符
def my_max(a, b):
c = a if a > b else b # 当a>b成⽴返回a, 否则返回b
return c
2. 关键字参数 :
- 按照形参的名字给参数赋值
3. 混合参数 :
- 位置参数必须放在最前面,关键字参数放在位置参数后面
传参
- 给函数传递信息的时候将实际参数交给形式参数的过程
def yue(chat): # chat 形参
print("拿出⼿机")
print("打开"+chat)
print("找个漂亮的妹⼦")
print("约不约")
yue("陌陌") # 实参
len("字符串") # "字符串"在这⾥就是实参
print("麻花藤") # "麻花藤"就是实参
[