九 函数基础(上)
9.1 函数简介
- 之前一直有使用 内置函数
- print()、input()、sum()、len()、max()
函数: 可以用来保存代码,在需要的时候,对这些可执行代码进行重复利用
总结
- 遇到重复功能的时候,直接调用即可,减少工作代码量
- 提升项目结构性,分工明确提高可读性
- 维护起来,方便
9.2 函数定义
定义函数
def 函数名():
代码块
函数名也要遵循变量名取名规则
1.由数字、字母、下划线组成
2.不能由数字开头
3.不能取关键字为名字
# 定义一个函数,名叫ys ,功能是 print4条语句
def ys():
print("安装原神")
print("打开原神")
print("关闭原神")
print("卸载原神")
- 函数定义好后,不会直接执行,得调用函数
9.3 函数调用
语法: 函数名()
def ys():
print("安装原神")
print("打开原神")
print("10连抽~~~~~")
print("关闭原神")
print("卸载原神")
# ys() # 调用函数 ys里面的代码
ys()
ys()
ys()
ys()
区分一个东西
ys 是什么 函数名==函数地址
ys() 是什么 执行函数地址里面的代码
-
练习
# 要求创建 login 函数 功能是输入用户名和密码,验证是否正确 # 默认账号是root 密码123456 def login(): username = input("请输入用户名:") password = input("请输入密码:") if username == 'root' and password == '123456': print('登录成功') else: print("登录失败") login()
9.4 函数的参数
9.4.1 形参和实参
# 无参函数
def 函数名():
代码块
# 含参函数
def 函数名(形参1,形参2,新参3):
代码块
def sum():
"""
强制了使用者,必须要键盘输入数据
实际上很多情况,不是键盘输入,而是已经有数据了
"""
a = int(input("请输入整数:"))
b = int(input("请输入另一个整数:"))
print(a+b)
-
形参:形式参数,定义的时候,是无值。
-
什么时候有值?有用户调用的时候确定值
def sum(a,b): # a,b就是形参 print(a+b)
-
-
实参:实际数据,是调用者视角传递的真实数据
-
sum(100,200) # 调用函数的时候,可以在括号内传递实参
# 定义一个函数,功能是求2个的和 def sum(a,b): print(a+b) x = int(input(":")) y = int(input(":")) sum(x,y)
-
-
细节:形参必须被实参填满值
# 定义一个函数,功能是求2个的和 def sum(a,b): print(a+b) sum(100) # 报错,定义了几个形参,就必须传递几个实参
9.4.2 形参默认值
def fn(a,b,c=10):
print(f"a = {a}")
print(f"b = {b}")
print(f"c = {c}")
# fn(1,2,3) # c=3
fn(1,2) # c=10
9.4.3 实参的传参
1.位置方式传递
按照对应位置传递值
第一个实参赋值给第一个形参
第二个实参赋值给第二个形参
....
def fn(a,b,c):
print(f"a = {a}")
print(f"b = {b}")
print(f"c = {c}")
2.关键字方式传递
可以不按照位置来传递值
def fn(a,b,c):
print(f"a = {a}")
print(f"b = {b}")
print(f"c = {c}")
fn(c=300,a=100,b=200)
print(end="",sep="") # 实参也可以不按照位置传递
sorted(reverse=True) # 按照形参的名字赋值传
-
位置传递和关键字传递可以混合使用,但是要注意
保证先使用位置传递,最后使用关键字传递,包括形参默认值定义也只能放最后 # fn(1,2,c="彬彬") # 位置传递和关键字传递 可以混合使用 #fn(c='彬彬',2,3) # 位置传递和关键字传递 可以混合使用
9.4.4 实参的类型
- 实参可以是任意的类型
a = 123
f(a)
b = True
f(b)
c= [1,2,3]
f(c)
def ys():
print("安装原神")
print("打开原神")
print("关闭原神")
print("卸载原神")
def f(a):
a()
f(ys) # 包括函数也能作为参数传递
# 函数的地址是可以传递的,传递后,可以完全充当功能使用
a = print
a('hello world')
标签:原神,函数,形参,基础,print,ys,def
From: https://blog.csdn.net/2301_80202670/article/details/143507305