zoukankan      html  css  js  c++  java
  • python--函数汇总

    函数:

    定义和特性:

    定义:
    函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名()即可

    特性:
    1,代码重用
    2,保持一致性
    3,可扩展性

    函数的创建:

    一,格式:
    python定义函数使用 def 关键字,一般格式如下:
    def 函数名(函数形参):
    函数体
    二,函数名的命名规则:
    1,函数名必须以下划线或字母开头,可以包含任意字母、数字或下划线的组合。不能使用任何的标点符号
    2,函数名是区分大小写的
    3,函数名不能为保留字

    三,形参和实参
    形参:不是实际参数,是虚拟变量。在定义函数和函数体的时候使用形参,目的是在函数调用时接收实参
    实参:实际参数,调用函数时传给函数参数,可以是常量、变量、表达式、函数、传给形参
    区别:形参是虚拟的,不占用内存空间,形参变量只有在被调用时才分配内存单元;实参是一个变量,占用内存空间,数据传送单向,实参传给形参。

    函数的参数:

    1,必备参数:
    参数必须以正确的顺序传入函数。调用时的数量必须和声明时的一样
    def f (name,age):
    print('I am %s,I am is %s' %(name,age))
    f('chen',18)

    2,关键字参数:
    关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为python解释器能够用参数名匹配参数值
    f(age=18,name='chen')

    3,缺省参数:
    调用函数时,缺省参数的值如果没有传入,则被认为是默认值。
    def f (name,age,sex='male'):
    print('I am %s,I am is %s,I am sex %s' %(name,age,sex))
    f('chen',18)
    >>I am chen,I am is 18,I am sex male

    4,不定长参数:
    可以处理更多的参数,加星号(*)的变量名会存放所有未命名的变量参数。加两个星号(**)的变量名会存放命名的变量参数。

    函数的返回值:

    定义:
    要想获取函数的执行结果,就可以用return语句把结果返回。
    注意:
    1,函数在执行过程中只要遇到return语句,就会停止执行并返回结果,也可以理解为return语句代表着函数的结束。
    2,如果没有在函数中指定return值,则返回值为 None
    3,return多个对象,解释器会把这多个对象组装成一个元组作为一个整体结果输出。

    作用域:

    作用域介绍:
    local:局部作用域,即函数中定义的变量

    enclosing:嵌套的父级函数的局部作用域,既包含此函数的上级函数的局部作用域,但不是全局的;

    globa:全局变量,就是模块级别定义的变量。

    built-in:系统固定模块里面的变量,比如:int,bytearray等。

    搜索变量的优先级为:
    局部作用域-->外层作用域-->全局作用域-->python内置作用域
    -----legb

    作用域的产生:
    在python中只有
    模块(module),类(class),以及
    函数(def,lambda)才会引入新的作用域,其他的代码块(如if,try,for等)是不会引入新的作用域的。

    变量的修改:
    当内部作用域想要修改外部作用域的变量时,就要用到global和nonlocal关键字了

    global:
    当修改的变量是在全局作用域(global作用域)上的,就要使用global先声明一下

    count=10
    def outer():
    global count
    print(count)
    count=20
    print(count)
    outer()

    >>10
    >>20

    nonlocal:
    global关键字声明的变量必须在全局作用域上,不能在嵌套作用域上,当要修改嵌套作用域就只能用nonlocal

    def outer():
    count =10
    def outer1():
    nonlocal count
    print(1+count)
    count=20
    print(2+count)
    print(3+count)
    outer()

    >>13

  • 相关阅读:
    Android 权限表
    自己动手写shell命令之write
    libgdx 1.4.1公布
    【JUnit4.10源码分析】5.2 Rule
    TCP协议具体解释(上)
    关于 二维码 与 NFC 之间的出身贫贱说
    Effective C++ Item 42 了解 typename 的双重意义
    C++第12周(春)项目2
    HDU 2256 Problem of Precision(矩阵高速幂)
    【OC语法快览】二、存取方法
  • 原文地址:https://www.cnblogs.com/chen-1054425078/p/9680104.html
Copyright © 2011-2022 走看看