神奇的python系列8:函数(一)

1 认识函数

什么是函数?

定义一个事情或者是功能,等到需要的时候直接去用就好了.那么这里定义东西就是一个函数。

函数:对代码块和功能的封装和定义。
2 定义函数

函数的基本结构:

def 函数名():
    函数体

我们使用def关键字来定义函数,函数的定义语法,这里的函数名的命名规则和变量的命名规则一样。

def make():
    print('拿出手机')
    print('拿出微信')
    print('看看附近的人')
    print('美女,约架吗?')
    print('约,走起!')

这里只定义了一个函数.但是还没有执行过这个函数.


3 调用函数

使用函数名加小括号就可以调用了  写法:函数名()  这个时候函数的函数体会被执行。

函数的调用:
# 函数 + 小括号  == 调用
func()
def make():
    print('拿出手机')
    print('拿出微信')
    print('看看附近的人')
    print('美女,约架吗?')
    print('约,走起!')
make()   # 函数名 + 小括号  ==  调用


4 函数的执行流程

def make():  #1
    print('拿出手机')  #3
    print('拿出微信')  #4
    print('看看附近的人')  #5
    print('美女,约架吗?')  #6
    print('约,走起!')  #6
make()  #2   # 函数名 + 小括号  ==  调用


5 函数的返回值

执行完函数之后,我们可以使用return来返回结果.

def func():
    print('今天是周二')
    return '1-9'
    print('明天是周三')
    return '1-8'
    print('后天是周四')
    print('大后天是周五')
    print('大大后天是周六')
# 函数中当执行到return的时候就结束了,return以下代码都不执行,并且终止这个函数
print(func())

1.遇到return,此函数结束,函数后面的东西将不会在执行;

2.return 返回值

 关于返回值:

   如果return什么都不写或者干脆就没写return,返回的结果就是None;

   如果return后面写了一个值,则调用者可以接受一个结果;

           return 可以返回随意数据;

   如果return后面写了多个结果,则调用者可以接受一个tuple,调用者可以直接使用解构获取多个变量。


6 函数的参数

参数,也就是函数括号里的内容 函数在调用的时候指定一个具体的变量的值 就是参数.

1.形参:写在函数声明的位置的变量叫形参,形式上的一个完整.表示这个函数需要xxx

2.实参:在函数调用的时候给函数传递的值.加实参,实际执行的时候给函数传递的信息.表示给函数xxx

3.传参:给函数传递信息的时候将实际参数交给形式参数的过程被称为传参.。

def make(chat):    # chat  定义的参数是形参   
    print("拿出手机")   
    print("打开"+chat)   
    print("找个漂亮的妹子")   
    print("约不约")
     
make("陌陌")    # 调用的参数是实参  形参和实参的数量 一一对应
len("字符串")    # "字符串"在这⾥里里就是实参
print("麻花藤")    # "麻花藤"就是实参 

参数分类:

实参的角度:
func('清华','东莞')                            位置参数

def make(chat,addr,age):    # chat  形参
    pass
 
make("清华","东莞",18)    # 实参

在访问make()的时候,我们按照位置的顺序分别把"陌陌","北京",18赋值给了

chat,addr,age,在传参过程中.系统会按照位置吧实参赋值到形参。

 

func(msg = '清华',addr = '东莞')   关键字参数

def make(chat, address, age):
    pass
 
make(chat="清华", age=18, address="东莞")       # 关键字参数.

python提出了一种叫做关键字参数. 我们不需要记住每个参数的位置. 只要记住每个参数的名字就可以了。

 

func('清华',addr='清华')                混合参数

def make(chat, address, age):
    pass
 
make("清华",age="18", address="东莞") # 关键字参数.

注意: 在使用混合参数的时候, 关键字参数必须在位置参数后面.

可以把上面两种参数混合着使用. 也就是说在调用函数的时候即可以给出位置参数, 也可以指定关键字参数。

 

def func(school='清华')            默认值参数

def stu_info(name, age, sex=''):    #默认参数
    pass
 
stu_info("张强", 18)

在函数声明的时候, 就可以给出函数参数的默认值. 在调用的时候可以 给出具体的值, 也可以不给值, 使⽤用默认值.

注意:必须先声明在位置参数,才能声明关键字参数

 

参数的顺序: 位置参数 > 默认参数(关键字参数),在默认参数前边写位置参数

函数形参的规则 位置参数 > 默认参数
函数形实参的规则 位置参数 > 关键字参数

 

总结:

实参的角度:
func('清华','东莞')    位置
func(msg = '清华',school = '东莞')   关键字
func('清华',school='清华')   混合

 

形参的角度:
def fucn(msg,school)    位置
def func(school='清华')   默认参数
def func(msg,school='清华')    混合

 

posted @ 2019-01-08 22:18  咸鱼王者  阅读(261)  评论(0编辑  收藏  举报