Copyright: Without permission, please do not reprint without permission! ! ! https://blog.csdn.net/weixin_44755148/article/details/90233284
Python- defined function calls, parameter types, return statements, variable scope resolution instructions
- Functions and parameters
- Defined functions
- Call functions
- The important concept of functions
- Parameter Type
- Positional parameters
- The default parameters - after parameter must be placed in position, it must be placed behind the variable length parameters
- Variable length parameter - the format is rather special, is coupled with an asterisk * Parameter name
- return statement
- The return value is the return value -return, when you enter parameters to a function, the function returns a value to you
- For multiple calls to the function, you can set the main function main ()
- return returns multiple values, a plurality of data type value is returned tuples (tuple)
- Function does not return statement will return the default value None
- The first encounter internal function returns a return
- Return statement summary
- Variable scope
Functions and parameters
Defined functions
#举例展示
def greet(name):
print(name+'早上好')
return
Call functions
# 最关键的是:得弄清楚这个函数有多少个参数,如何给参数赋值,这个过程在函数里叫做参数的传递(pass)
#举例展示
def pika2(name):
print('我最喜爱的神奇宝贝是'+name)
pika2('皮卡丘') #调用函数,输入函数名pika()并输入参数'皮卡丘'
pika2('喷火龙') #调用函数,输入函数名pika()并输入参数'喷火龙'
#答案展示
我最喜爱的神奇宝贝是皮卡丘
我最喜爱的神奇宝贝是喷火龙
The important concept of functions
Parameter Type
Positional parameters
def menu(appetizer,course):
print('一份开胃菜:'+appetizer)
print('一份主食:'+course+'\n')
#转义字符\n,表示换行
#此处依据位置传入参数
menu('牛肉拉面','话梅花生')
menu('话梅花生','牛肉拉面')
#结果展示
一份开胃菜:牛肉拉面
一份主食:话梅花生
一份开胃菜:话梅花生
一份主食:牛肉拉面
#如果采用下面这种形式传递,就不需要理会参数位置,直接指定参数的具体内容
menu(course='牛肉拉面',appetizer='话梅花生')
#结果展示
一份开胃菜:话梅花生
一份主食:牛肉拉面
The default parameters - after parameter must be placed in position, it must be placed behind the variable length parameters
def menu(appetizer,course,dessert='绿豆沙'):
print('一份开胃菜:'+appetizer)
print('一份主食:'+course)
print('一份甜品:'+dessert)
menu('话梅花生','牛肉拉面') #默认参数如不需要改变,则不用传参
menu('话梅花生','牛肉拉面','银耳羹') #需更改默认参数,则直接传参(默认参数是可变的)
#银耳羹对应参数dessert
#结果展示
一份开胃菜:话梅花生
一份主食:牛肉拉面
一份甜品:绿豆沙
一份开胃菜:话梅花生
一份主食:牛肉拉面
一份甜品:银耳羹
Variable length parameter - the format is rather special, is coupled with an asterisk * Parameter name
#示例1
order=('烤鸡翅','烤茄子','烤玉米')
#元组的长度没有限制
def menu(*barbeque):
print(barbeque)
menu(*order)
#结果展示
('烤鸡翅', '烤茄子', '烤玉米')
#示例2 默认参数一定是放在最后面的
def menu(appetizer,course,*barbeque,dessert='南瓜饼'):
print('一份开胃菜'+appetizer)
print('一份主菜'+course)
print('一份甜品'+dessert)
barbeque = ('烤五花肉','烤茄子','烤鱼','烤四季豆','烤土豆')
for i in barbeque:
print('一份烤串:'+i)
menu(appetizer = '泡椒海带',course = '菠萝饭',dessert = '天蚕土豆')
#结果展示
一份开胃菜泡椒海带
一份主菜菠萝饭
一份甜品天蚕土豆
一份烤串:烤五花肉
一份烤串:烤茄子
一份烤串:烤鱼
一份烤串:烤四季豆
一份烤串:烤土豆
return statement
The return value is the return value -return, when you enter parameters to a function, the function returns a value to you
def niduoda(age):
if age < 12:
return '哈,是祖国的花朵啊'
elif age < 25:
return '哇,是小鲜肉呢'
else:
return '嗯,人生才刚刚开始'
print(niduoda(30))
#结果展示
嗯,人生才刚刚开始
For multiple calls to the function, you can set the main function main ()
def face(name):
return name + '的脸蛋'
def body(name):
return name + '的身材'
def main(dream_face,dream_body):
return '我的梦中情人:' + face(dream_face) + ' + ' + body(dream_body)
print(main('李若彤','林志玲'))
#结果展示
我的梦中情人:李若彤的脸蛋 + 林志玲的身材
return returns multiple values, a plurality of data type value is returned tuples (tuple)
def lover(name1,name2):
face = name1 + '的脸蛋'
body = name2 + '的身材'
return face,body
a=lover('李若彤','林志玲')
print(a)
#结果展示
('李若彤的脸蛋', '林志玲的身材')
Function does not return statement will return the default value None
#第一个函数
def fun():
a ='I am coding'
print(fun())
#第二个函数
def fun():
a='I am coding'
return a
print(fun())
#结果展示
None
I am coding
The first encounter internal function returns a return
def fun():
return 'I am coding.'
return 'I am not coding.'
print(fun())
#结果展示
I am coding.
Return statement summary
Variable scope
Local variables - defined in a variable function can only be used within a (local scope) within the function
def num():
x=88 #局部变量x
print(x)
num()
#结果展现
88
Global variables - variable assignment outside of any function can be used (global scope) at any point in the program
x=99 #全局变量x
def num():
x=88 #局部变量x
print(x)
num()
#打印局部变量x
print(x)
#打印全局变量x
#结果展现
88
99
全局作用域中的代码中不能使用任何局部变量,如下为错误代码展示
#全局变量在哪里都可以被使用,变量quantity,不在我们定义的函数内的,所以是全局变量。
quantity = 108
def egg(): #定义一个函数,叫egg()
print(quantity) #函数内的功能是打印变量quantity
egg() #调用这个函数
#结果展示
108
The local variable as a global variable (global statement)
def egg():
global quantity
#global语句将变量quantity声明为全局变量
quantity = 108
egg()
print(quantity)
#结果展示
108