• 随堂笔记day15 python


    上节回顾

      函数:

        数学意义上的函数 y = 2x +1

        函数,传一个值(x),就会有一个固定的y值

      def test(x):其中def是关键字,test(x)是函数名。

      形参的特点:参数是个变量值。

      实参的特点:参数是个具体的值

    def test(x)

      '''

      注释,解释你这个参数的作用,一个函数就是为了完成某个特定的功能

      '''

      代码块

      return 返回值------------------返回值可以是[None,一个值(数字,字符串),多个值(元组)

    test()---------------------------这个表示运行test这个函数,test:表示引用。()运行

    test(1,2,3,4,5)

      位置参数要求要一一对应

    实参占实际内存空间

    test(z=1,x=2,y=3)---------------------关键字传参

    大原则是:位置参数一定要在关键参数左边

    默认参数通常用于软件的安装

    def test ( x,*args,**kwargs):

    test(1,2,3,4,5)------------其中1会传给x,其他多余的参数会传给args,以元组的形式保存。

    在函数中,不能够重复传值给同一个在同个括号里,

    test(1,2,3,4,a=3,b=4)--------------其中a=3,b=4会以字典形式保存,(**kwagrs)

    pass---------------什么都不干

    函数的优点:

      1.减少代码块

      2.保持一致性,易维护

      3.可扩展性

    ************************************************************

    全局变量和局部变量

      怎么定义全局变量:

            第一 要顶头写代码,没有缩进。全局变量在任何位置都生效。全局变量最好是全部大写,

            全局变量所有人都可以拿得到,作用域是全局。

            第二 全局变量最好要往上提(意思是写在开头位置)

      局部变量:最好变量名全部小写

      def change_name():

      _____print('change_name') -------------------子程序,有缩进。

      

      

      局部变量重新赋值给全局变量

      def change_name():

        global name --------------------------这个是修改的是name就是全局变量

                  (glabal name :已经声明,name是全局变量)类似指针,引用。

                    glabal(是命令,关键字)

      局部变量的作用域是子程序,局部定义的和全局无关,

        参数一般是先从自己的局部作用域内找,找不到就往外部找(全局作用域或者上一级的局部作用域),外部没有再去外部

        的外部找,直到外部结束。

    变量的私有化只能是函数,局部变量不能直接拿到全局里,要通过一些其他的方法,暂时不清楚。

    ——————————————————————————————

    globals

    1.如果函数的内容无globals的关键字,优先读取局部变量。能够读取全句变量,无法对全局变量重新赋值,但是对于

    可变类型(列表,字典),可以对内部元素进行操作。

      1.1有声明局部变量,找自己

      1.2无声明局部变量,找全局变量

    2.如果函数中有global关键字,变量本质就是全局变量的那个变量,可读取可赋值。

    如果全局变量是列表?怎么重新赋值?

      覆盖

    name.append('元素‘)这样是可以的。还有其他列表魔法可以用

    函数和函数之间可以嵌套

    什么是哈希值?*********************************

    外部无法直接调用内部参数,外部可以利用内部返回值调用内部参数

    nonlocal---------------指上一级变量

    前向引用

      函数即变量

    函数名称-------是指内存地址

    递归:(好比问路)

    每进行一次循环,内存会保持一次层数,会占内存(最糟会内存溢出)

    必须要有一个明确结束条件

    import time---------加载time的功能

    time sleep(1) ----停止一秒

    pychram使用方法(看递归)

    断点

    在左边加上小红点,可以一个个运行

    enumrate

    为可迭代的对象添加序号
  • 相关阅读:
    算法习题---3.11换抵挡装置(UVa1588)
    这不是bug,而是语言特性
    Makefile 11——支持头文件目录指定
    Makefile 10——打造更专业的编译环境-huge项目
    Makefile 9——为依赖关系文件建立依赖关系
    Makefile 8——使用依赖关系文件
    FreeRTOS——1
    Makefile 7——自动生成依赖关系 三颗星
    Makefile学习之路6——让编译环境更加有序
    RCC—使用 HSE/HSI 配置时钟 ---时钟树
  • 原文地址:https://www.cnblogs.com/chrpy/p/8503381.html
Copyright © 2020-2023  润新知