Python:初始函数

枫铃4年前 (2021-07-10)Python233

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

函数能提高应用的模块性,和代码的重复利用率。你已经知道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同步windows和linux文件

写python脚本的初衷,每次在windows编辑完文件后,想同步到linux上去,只能够登录服务器,...

爬虫基本原理

爬虫基本原理 一、爬虫是什么? 百度百科和维基百科对网络爬虫的定义:简单来说爬虫就是抓取目标网站内容的工具,一般是根据定义的行...

Django 函数和方法的区别

函数和方法的区别 1、函数要手动传self,方法不用传 2、如果是一个函数,用类名去调用,如果是一个方法...

Django 知识补漏单例模式

单例模式:(说白了就是)创建一个类的实例。在 Python 中,我们可以用多种方法来实现单例模式&#x...

Django基础知识MTV

Django简介 Django是使用Python编写的一个开源Web框架。可以用它来快速搭建一个高性能的网站。 Django也是一个MVC框架。但是在Dj...

Python mysql 索引原理与慢查询优化

一 介绍 为何要有索引? 一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,...

发表评论

访客

看不清,换一张

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