zoukankan      html  css  js  c++  java
  • 13 python初学(函数)

    函数:

    1. 概念:函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可
    2. 创建: def
    3. 函数名命名规范: a. 必须以下划线或字母开头 b. 区分大小写 c.不能是保留字
    4. 参数(形参和实参):调用时传的参数是实参,方法里写的接收的变量是形参

    必备参数:

    # name,age 是必备参数;调用此函数时必须按顺序传入值。
    def print_info(name, age):

     

    关键字参数:

    # 调用函数时可以不按顺序传入参数,但必须说明关键字
    print_info(age=17, name='su')

     

    默认参数:

    # 声明参数时指定一个默认值:sex='female',这样在调用该函数时如果不传参数值就会使用默认值。默认参数必须放在所有参数后面(不包括不定长参数)
    # 默认参数后面如果跟了不定长参数,那么会先把第一个参数值给默认参数
    def print_info(name, age, sex='female'): pass print_info('lily', 18) # 指定默认性别为女 print_info('xiaoming', 18, 'male') #传入参数:性别为男

     

    不定长参数:

     

    # 不定长参数有两种:一种是不会给传入的参数命名,第二种是传入的参数有命名。 *args 放左边, **kwargs 放右边
    
    # 第一种
    def add(*args):   # 不定长参数一,*args不会给传入的参数命名,声明时不会命名
        print(args)
        sum = 0
        for i in args:  # args = (1, 2, 3, 4, 5),元组类型
            sum += i
        print(sum)
    
    add(1, 2, 3, 4, 5)
    
    #第二种: **kwargs 来接收超出的命名参数,是一个字典类型
    def print_info(name, age, **kwargs):
        print(kwargs)
        print('name: %s' % name)
        print('age is: %d'% age)
        for i in kwargs:
            print('%s: %s' % (i, kwargs[i]))
    
    
    print_info('lily', 18, sex='female', locate='beijing',)

    5. return:

    作用:a. 结束函数 b.返回某个对象

    如果函数没有 return,会默认 return 一个 None

    如果return 多个对象,那么python 会帮我们把多个对象封装成一个元组返回

     

    def test(a, b):
        return a+b, a*b
    
    print(test(1, 2))
    
    >>> (3, 2)

     

     

    6. 定义域:

    built_in , global, enclosing, local

    局部作用域如果要修改全局变量,需要加 global :   global count

    global 关键字声明的变量必须在全局作用域上,不能在嵌套作用域上。

    当要修改嵌套作用域(enclosing)中的变量,需要使用 nonlocal 关键字:nonlocal count

     

    变量查找顺序:LEGB,作用域局部>外层作用域>当前模块中的全局>python内置作用域

    只有模块、类及函数才能引入新作用域

    对于一个变量,内部作用域先声明就会覆盖外部变量,不声明直接使用,就会使用外部作用域的变量

    内部作用域要修改外部作用域变量的值时,全局变量要使用 global 关键字,嵌套作用域变量要使用 nonlocal 关键字,nonlocal python3 新增的关键字,有了这个关键字,就能完美实现闭包了  

    7. 作用: a.减少重复代码 b. 方便修改,便于扩展 c. 保持代码一致性

  • 相关阅读:
    rabbitmq的笔记(四)小版本的升级操作
    rabbitmq的笔记(三)用Python生产和消费
    rabbitmq的笔记(二)基本命令操作
    rabbitmq的笔记(一)安装
    idea自带的maven 配置阿里云中央仓库
    Maven安装与配置
    Win10下Mysql5.7安装教程
    windows10下Mysql5.7安装指南
    连接mysql出现“Unable to load authentication plugin 'caching_sha2_password”错误
    low code平台建设的一些设计和思考
  • 原文地址:https://www.cnblogs.com/mlllily/p/10252715.html
Copyright © 2011-2022 走看看