美文网首页
Python Basic day06

Python Basic day06

作者: AIturbo | 来源:发表于2019-02-03 07:44 被阅读0次

1,掌握局部变量的特点(定义方式,作用范围)

在函数内部定义, 只在函数内部起作用

2,掌握全局变量的特点(定义方式,作用范围)

在函数外部定义,在函数内部外部都起作用

3,掌握函数中返回多个值

Def fn():
      Xxxxx
      Return x1,  x2, x3

一个函数中可以有多个return语句,但是只要有一个return语句被执行到,那么这个函数就会结束了,因此后面的return没有什么用处。

4,(重点)return返回值详解

1、return必须写在自定义函数内部
2、一个自定义函数,如果没有写return,或者写了return后并没有写返回值,都表示最终这个函数返回了None
3、函数可以返回多个值,返回值类型也可以是任意,但默认是元组
return shang, yushu # return可以同时返回多个值,用逗号隔开,默认的数据类型是元组,
但是也可以返回其他的数据类型:
return [shang, yushu]
return {"shang": shang, "yushu": yushu}
return "hello"

5,参数详解

1、位置参数
    def fn(a, b):
        print("%s的年龄是%s" % (a, b))
    
    fn("python", 27)  # 位置参数, 实参和形参一一对应
                     不能调换位置

2、默认参数,缺省参数
    def fn(a, b=27):  # 默认参数,又叫缺省参数, b如果接受不到实参,就使用默认的这个27
        print("%s的年龄是%s" % (a, b))
    
    fn("python", 28)

3、关键字参数
    def fn(a, b):
        print("%s的年龄是%s" % (a, b))

    fn(a="python", b=27)  # 关键字参数  即使调换位置也能正常输出。

4、注意:
    书写格式的要求:
    形参:普通参数写在默认参数前面
    实参:位置参数写在关键字参数前面

5、不定长参数:
    *args    专门用来接收位置参数,作为元组,在函数内部访问args,就是访问这个元组,每一个位置参数作为元组的元素
    **kwargs  专门来接收关键字参数,作为字典,在函数内部访问kwargs,就是访问这个字典,每一个关键字参数作为字典的元素
def sum_nums_3(a, *args, b=22, c=33, **kwargs):
   print(a)  # 100
   print(b)  # 1
   print(c)  # 2
   print(args)  # (200, 300, 400, 500, 600, 700)
   print(kwargs)  # {"mm": 800, "nn":900}
      
   sum_nums_3(100, 200, 300, 400, 500, 600, 700, b=1, c=2, mm=800, nn=900)

6,(重点)引用

a = 10   # 让符号a指向10的这个内存地址
b = a   # 让符号b指向a所指向的那个内存地址
id()   用来获取某个数据的内存地址
一般用它查看两个变量的指向是不是一样,
如果两个变量的id相同,说明这两个变量的指向一样
如果两个变量的id不相同,说明这两个变量的指向不一样

7,掌握元组的拆包

a, b = (10, 20)

8,掌握交换2个变量的值

a,b = b, a

9,掌握函数的默认(缺省)参数的使用

调用函数时,缺省参数的值如果没有传入,则取默认值。
def fn(a, b=27)
注意:在形参中默认有值的参数,称之为缺省参数。
带有默认值的参数一定要位于参数列表的最后面。

10,掌握函数的可变(不定长)参数的使用

     Def fn(*args,  **kwargs):
          Print(args)
          Print(kwargs)

11,global的使用

    a = 10
    def fn():
       global a   # 声明下边修改的这个a是全局变量a
       a = 100
       print(a)   # 如果只是访问这个变量(跟全局变量同名),访问到的是全局,如果是对这个a进行重新赋值 即a = 100, 这个变量就是局部变量,如果在函数内部想要修改全局变量a,需要加global a声明

    什么时候用global
    1、在函数内部修改全局变量的时候
    2、在函数内部定义全局变量的时候

12,递归函数

一个自定义函数,里面调用了函数本身,称这个调用是函数的递归调用,称这个函数为递归函数
def fn(num):
    """这个函数是来求num的阶乘"""
    if num == 1:
        return 1
    else:
        ret = num * fn(num-1)
        return ret

print(fn(4))

相关文章

网友评论

      本文标题:Python Basic day06

      本文链接:https://www.haomeiwen.com/subject/sqfysqtx.html