Python:初始函数

枫铃3年前 (2021-07-10)Python228

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。

函数的定义:

#函数在定义阶段,只检测语法,不执行代码.
    def 函数名(参数1参数2,...):
        '''注释信息'''
        函数体
        return 返回值
    
    定义函数的三种形式:
        无参: #函数无需外部传入参数
        有参: #函数体的代码,需要外部传入值的时候才使用有参函数   
        空函数: #结构占位

函数的调用:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
函数名()  #*****函数的调用,必须要准寻先定义后调用的原则
    
    函数调用的三种形式:
        def foo():
            print(1)
            return 123
        
        直接通过函数名调用:
        foo()
        
        赋值给其他变量,间接调用
        res=foo()
        print(res)
    
        利用函数返回值进行调用
        res=foo()*10
        print(res)

函数的返回值return:

调用函数的过程中,一旦执行到return,就终止函数。并且把return后的内容当作本次调用的返回值返回
函数体内可以有多个return,但只能执行一个次
返回的值,可以是任意类型,可以用逗号分隔,以元祖的形式返回多个值
可以不写return,默认返回None

函数的参数:

形参:函数定义的时候指定的参数
    实参:在函数调用阶段使用的参数
    
    固定形参:
        默认参数:在定义阶段,已经为形参赋值了,在调用阶段可以不传值
            注意的个问题:
                #1.默认参数的值,只在定义时赋值一次
                #2.默认参数的值,应该是不可变类型
                #3.默认参数,都必须写在非默认参数的右边,非固定参数的左边
        def foo(y=10)
            print(y)
        foo()
        
        位置形参: #位置参数是在定义阶段的解释.
        def foo(x,y,z)
            print(x,y,z)
        foo(1,2,3)         #位置形参的默认调用方式,也叫必要实参
        
        foo(y=2,z=3,x=1)   #位置形参在调用阶段,可以叫做关键实参
        
    非固定形参:
        *args: #接收形参中没有定义的任意个数的位置参数,并将其保存在元组当中
        
        **kwargs: #接收形参中没有定义的任意个数的关键字实参,并将其保存在字典当中

   形参的顺序  
        位置参数 *args, 默认参数,**kwargs
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
def func3(*args, **kwargs): 
    print(args)
    print(kwargs)
func3(1, 2, 3, 'alex', c=6, name='wusir', age='21')

(1, 2, 3, 'alex')
{'c': 6, 'name': 'wusir', 'age': '21'}
def func3(*args, **kwargs):  #函数的定义的时候 * 代表聚合。
    print(args)
    print(kwargs)
func3(*[1, 2, 3],*(22, 33))  #函数的执行的时候 * 代表打散。

(1, 2, 3, 22, 33)
{}
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:579817333 
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
def func3(*args, **kwargs):  #函数的定义的时候 * 代表聚合。
    print(args)
    print(kwargs)
func3(**{'name':"alex"},**{'age':23})  #函数的执行的时候 * 代表打散。

()
{'name': 'alex', 'age': 23}

相关文章

使用python操作zookeeper

kazoo 介绍 zookeeper的开发接口以前主要以java和c为主,随着python项目越来越多的使用zookeeper作为分布式集群实现...

python列表list的基本性质

列表list是pytho...

python服务端多进程压测工具

本文描述一个python实现的多进程压测工具,这个压测工具的特点如下: 多进程 在大多数情况下,压测一般适用于I...

python五种调试或排错的方法

python五种调试或排错的方法

1、print,直接打印,比较简单而且粗暴 在代码中直接输入print+需要输出的结果,根据打印的内容判断即...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。