python笔记之函数
1、基础函数:
# def show():
# print('Hello World!')
# print('My name is Albert')
# # print(show)
# show()
# def show(name):
# print('Hello :',name)
# print('My name is Albert')
# # print(show)
# show('Pretty girl')
def calc(x,y):
res=x**y
print(res)
calc(2,6)
calc(2,2)
2.参数:
def stu_register(name,sex,age,professional,school='山东理工大学'):
print("--------------学生信息注册-------------")
print('姓名:',name)
print('性别:',sex)
print('年龄:', age)
print('学校:', school)
print('专业:', professional)
stu_register('albert','boy','23','软件工程')
stu_register('Tom','boy','23','软件工程')
stu_register('jery','boy','23','软件工程')
stu_register('rain','boy','23','软件工程')
stu_register('black girl','girl','23','山东大学','软件工程')
关键参数:::
def stu_register(name,sex,age,professional,school='山东理工大学'):
print("--------------学生信息注册-------------")
print('姓名:',name)
print('性别:',sex)
print('年龄:', age)
print('学校:', school)
print('专业:', professional)
stu_register('albert','boy',professional='软件工程',age=23)
#多人发送,即 非固定参数
def send_message(msg,*users):
for u in users:
print(msg,u)
send_message('奋斗吧!青年','albert','jack')
send_message('yx最孤独!','albert','jack','xxxx')
两种不同的非固定参数(但都是以元祖形式打包的)传参写法:
*users是吧msg之后的所有参数截胡打包给自己,后面如果加一个age,她也会把age包含里面。因此,如果后面加形参,调用时用关键参数,以age这个为例:age=22.这样的话就不会被截胡。
元祖打包和字典打包:
函数返回:
def stu_register(name,age,course,country):
print(name,age,course,country)
if age < 23:
return name,course
elif age >= 23 and age <= 30:
return '恭喜你!'
elif age >30 and age < 60:
return ['daf','ewrq','cdac']
elif age >= 60 and age < 70:
return {'albert':'奋斗吧','sad':'asd'}
else:
return (1232,'dsfaewdfasdfewaf')
status = stu_register('albert',18,'python','zino')
print(status)
status = stu_register('albert',24,'python','zino')
print(status)
status = stu_register('albert',50,'python','zino')
print(status)
status = stu_register('albert',66,'python','zino')
print(status)
status = stu_register('albert',88,'python','zino')
print(status)
执行结果:
全局变量和局部变量:
局部变量可以修改全局变量,前提全局变量是可以修改的,eg:列表,字典等。像不能修改的字符串是不可以的。但是引用 global是可以对其修改的
names = ['albert','tom','bob']
def func1():
global names
names = {'a':1,'b':2}
# del names[2]
print(names)
func1()
print(names)
函数嵌套:
global已经把19读下来了,age=73,是执行完func2后改变全局变量age:
作用域:
age = 18
def func1():
age = 99
def func2():
print(age)
return func2
val = func1()
val()
函数名可以当作返回值
匿名函数:
# 匿名函数
def func1(x,y):
if x > y:
return x / y
else:
return x * y
func2 = lambda x,y:x / y if x > y else x * y #声明一个匿名函数
print(func1(16,8))
print(func2(16,8))

浙公网安备 33010602011771号