三元运算
- a = 2
- b = 5
- val = a if a <b else b
- print(val) #2
- # 如果 a 小于 b val 就等于 a 反之等于 b
函数
例 1 定义一个函数
- def sayhi():
- print('hhhhh')
- print(sayhi) # 函数的内存地址
- sayhi() #调用函数
- # 结果
- #<function sayhi at 0x0000000002592488>
- #hhhhh
例 2 函数传参
- # 2 函数传参
- def calc(x,y):
- res = x**y
- return res #返回函数的执行结果
- c = calc(2,2)
- print(c) # 4
函数参数说明
"""
函数参数:
形参变量
只有在被调用时才分配内存单元, 在调用结束时, 即释放所分配的内存单元, 因此形参只在函数内部有效.
函数调用结束返回主调用函数后则不能再使用该形参变量
实参
可以是常量 变量 表达式 函数等, 无论实参是何种类型的量, 在进行函数调用时, 它们必须有确定的值,
以便把这些值传送给形参. 因此应预先用赋值 输入等办法使参数获得确定值
"""
形参与实参 例子说明
- # 形参 与实参的说明
- def calc(x,y): # x, y 是形参
- res = x**y
- return res
- c = calc(2,4) # 2, 4 是实参
- print(c) #16
例三 默认参数
- def stu_register(name,age,country,course):
- print("-------- 注册学生信息 ---------")
- print("姓名:",name)
- print("age:",age)
- print("国籍:",country)
- print("课程:",course)
- stu_register("张三",22,"CN","python")
- '''
- -------- 注册学生信息 ---------
- 姓名: 张三
- age: 22
- 国籍: CN
- 课程: python
- '''
- # course 设置默认参数 默认参数都是放在最后位
- def stu_register(name,age,course,country="CN"):
- print("-------- 注册学生信息 ---------")
- print("姓名:",name)
- print("age:",age)
- print("国籍:",country)
- print("课程:",course)
- stu_register("张三",22,"python")
- '''
- -------- 注册学生信息 ---------
- 姓名: 张三
- age: 22
- 国籍: CN
- 课程: python
- '''
关键参数
正常情况下 给函数传参数要按顺序, 不想按顺序机可以用关键参数, 只需指定参数名即可 (指定了参数名的参数就叫关键参数) 关键参数必须放在位置参数之后
- def stu_register(name, age, course='PY' ,country='CN'):
- print("---- 注册学生信息 ------")
- print("姓名:", name)
- print("age:", age)
- print("国籍:", country)
- print("课程:", course)
- stu_register("王山炮",course='PY', age=22,country='JP' )
- ###### 下面 2 种调用方式是不允许的
- # stu_register("王山炮",course='PY',22,country='JP' )
- # stu_register("王山炮",22,age=25,country='JP' )
非固定参数 *args **kwargs
- # *args
- def stu_register(name,age,*args): # *args 会把多传入的参数变成一个元组形式
- print(name,age,args)
- stu_register("Alex",22) #Alex 22 ()
- stu_register("Jack",32,"CN","Python") #Jack 32 ('CN', 'Python')
- #**kwargs
- def stu_register(name,age,*args,**kwargs): # *kwargs 会把多传入的参数变成一个 dict 形式
- print(name,age,args,kwargs)
- stu_register("Jack",32,"CN","Python",sex="Male",province="ShanDong")
- # Jack 32 ('CN', 'Python') {'sex': 'Male', 'province': 'ShanDong'}
函数返回值说明
- ## 函数返回值
- def stu_register(name, age, course='PY' ,country='CN'):
- print("---- 注册学生信息 ------")
- print("姓名:", name)
- print("age:", age)
- print("国籍:", country)
- print("课程:", course)
- if age> 22:
- return False
- else:
- return True
- resgistriation_status = stu_register("张三",19,course="py",country='JP')
- if resgistriation_status:
- print("注册成功")
- else:
- print("too old to be a student.")
- # 说明 函数在执行过程中只要遇到 return 语句, 就会停止执行并返回结果, return 代表着函数的结束
- # 如果未来函数中指定 return, 那这个函数返回值为 None
来源: http://www.bubuko.com/infodetail-2976644.html