标签:嵌套 语句 匿名 释放 *args 调用 none 开始 接收
def func():
print('函数的定义')
func() # 调用函数
def calc(x,y):
"""
计算两个数的和的函数
:param x:形参 x
:param y:形参 y
"""
res = x + y
return res
print(calc(10, 10)) # 调用函数获取计算结果
位置参数:根据形参,传入的参数一一对应,按照顺序传入,叫做位置参数。
def students(name, age, sex, classes='Python1期'):
print('学生姓名:{0};年龄:{1};性别:{2};班级:{3}'.format(name, age, sex, classes))
students('江子牙', 21, '男', )
students('江xx', 19, '女', )
students('江yy', 15, '不男不女', )
students('子 牙', 25, '男', )
我们写了重复代码(参数)。有个默认参数可以解决此问题。
def students(name, age, sex, classes='Python1期'):
print('学生姓名:{0};年龄:{1};性别:{2};班级:{3}'.format(name, age, sex, classes))
students('江子牙', 21, '男', )
students('江xx', 19, '女', )
students('江yy', 15, '不男不女', )
students('子 牙', 25, '男', 'Python2期')
没有传值则是默认的值,传入的就会是自己传入的
'''
本来传参数要一一对应,按照顺序。如果不想按顺序,就可以指定参数名的参数名
关键字参数必须放在位置参数后面
'''
def stu_info(name,age,course='高三一班'):
print('-----学生信息-----')
print('姓名:',name)
print('年龄:',age)
print('课程:',course)
stu_info(age=199,course='大学啦',name='小天文')
stu_info(age=20,name='文帅')
# *args 实际上是传一个元祖,打包所有不固定参数.
def send(msg, *args):
print('所有非固定参数', args)
for i in args:
print('我是非固定参数', i)
send('别浪了……', 'a')
send('别浪了……', 'a', 'b')
send('别浪了……', 'a', 'b', 'c')
send('别浪了……', ['a', 'b', 'c'])
# 当你想以列表形式,元素作为一个个参数传入时,应该加*
send('别浪了……', *['a', 'b', 'c'])
# 接收的参数是关键字参数,实际上是传一个字典。
def info(name, age, **kwargs):
print(kwargs)
info('111', 222, sex='男', money=9.9)
info('111', 222, **{'sex': '变态', 'money': 100})
def calc(x, y):
"""
计算两个数的和的函数
:param x:形参 x
:param y:形参 y
"""
res = x + y
return res
print('函数执行的结果:',calc(10, 10))
name = 'Black girl' # 全局变量
def change_name():
name = '黑色姑娘' # 局部变量,定义在函数里面的变量,函数一旦执行完毕,则释放局部变量,如果里面没有定义,则使用外面的,
print(name) # 黑色姑娘--->如果加global,就可以使用全局变量
change_name()
print(name) # Black girl 修改局部变量并不影响全局变量的值,作用域不一样。
age = 18
def func1():
age = 73
print('alex')
def func2():
print('egon')
print(age)
return func2
res = func1()
res()
print(age)
age = 19
def f1():
def f2():
print(age)
age = 73
f2() # 调用内部函数
f1()
print(age)
# 函数内部可以再次定义函数,执行需要被调用。age是一层一层往上找。
res = map(lambda x,y:x+y,[1,2,3])
标签:嵌套 语句 匿名 释放 *args 调用 none 开始 接收
原文地址:https://www.cnblogs.com/xjmlove/p/10331272.html