之前学习的一些相当于是在学习Python的语法或者一些规则,现在我们要进入python的真正的函数编写啦。
函数的定义: 它指通过专门的代码组织,用来实现特定功能的代码段,具有相对的独立性,可以被其他代码重复调用。
Python中的函数包括内置函数 和自己定义的def 函数,
def函数的结构:
def 函数名称(参数列表):
函数体
[return返回值列表]
函数的调用:函数名(参数列表)
函数的参数传递:位置参数,关键字参数,默认值参数
函数调用的时候的参数和函数定义时候的参数个数和顺序必须一样
关键字传参数根据定义直接赋值, 默认值参数可以不用在调用时候赋值
def happy_birthday(name,age=18):
print('祝'+name+'生日快乐')
print(str(age) + '生日快乐')
happy_birthday("baby",14) #使用位置传参
happy_birthday(age=18,name='my honey') # 关键字传参
happy_birthday("My Mon") #age的值使用默认值
可变参数传参时:
def fun(*para):
print(type(para))
for item in para:
print(item)
fun('10,20,30,40',19,'a=b')
#个数可变的关键字参数
def fun(**kwpara):
print(type(kwpara))
for key,value in kwpara.items():
print(key,'-----',value)
fun(name='呼啦啦',age=23,height=168)
函数的返回值:可有可无,如果运行结果在其他地方使用,则用return返回,没有使用return的时喊候,返回值为:none
def add(a,b):
sum=a+b
print(sum)
add(13,35)
print('打印无返回值的函数')
print(add(13,35))
函数有返回值:
def get_sum(n):
s=0
odd_sum=0
even_sum=0
for i in range(1,n+1):
if i%2==1 :
odd_sum+=i
else:
even_sum+=i
s+=i
return s,odd_sum,even_sum
result=get_sum(10)
print(type(result))
print(result)
a,b,c=get_sum(10)
print(f'总和是:{a},奇数和是:{b},偶数和是:{b}')
变量的作用域:函数参数,函数内部定义的变量都是局部变量。全局变量可以在函数中参与运算,当全局变量和局部变量相同名字时,局部变量的值不能修改全局变量
a= 100;
def cal(x,y):
return a+x+y
print(a)
print(cal(10,20))
def cal1(x,y):
a=200;
return a+x+y
print(a)
print(cal1(10,20))