Python- defined function calls, parameter types, return statements, variable scope resolution instructions

Copyright: Without permission, please do not reprint without permission! ! ! https://blog.csdn.net/weixin_44755148/article/details/90233284

Functions and parameters

Here Insert Picture Description

Defined functions

Here Insert Picture Description

#举例展示
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

Here Insert Picture Description

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
全局作用域中的代码中不能使用任何局部变量,如下为错误代码展示

Here Insert Picture Description

#全局变量在哪里都可以被使用,变量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

Guess you like

Origin blog.csdn.net/weixin_44755148/article/details/90233284