zoukankan      html  css  js  c++  java
  • python核心编程笔记--chapter3

    chapter 3

    1.python语句中一些基本规则和特殊字符:

     井号#表示之后的字符为python注释

     换行 是标准的行分隔符

     反斜线是继续上一行

     分号;将两个语句连接在一行中

     冒号:将代码块的头和体分开

     语句用缩进的块的方式体现

     不同的缩进深度分隔不同的代码块

     python文件以模块的形式组织

    2.python语句一般使用换行分隔,即一行一个语句,一行过长的语句可以使用反斜杠分解成几行;

     在使用闭合操作符如小括号、大括号、花括号时可以多行书写,另外三引号包括下的字符串也可以跨行书写

    3.尽量使用四个空格为缩进宽度,避免使用制表符

    4.分号允许将多个语句写在同一行上,但不提倡这样做

    5.复制并不是直接讲一个值赋给一个变量,对象通过引用传递。在赋值时,不管这个对象是新创建的还是已存在的,都是将该对象的引用(并不是值)赋值给变量。

    6.python的赋值语句不会有返回值:x=1;y=(x=x+1)在python中是非法的

     可以链式赋值 y=x=x+1

    7.多元赋值:将多个变量同时赋值的方法,采用这种方式赋值时,等号两边的对象都是元组

     (x,y,z)=(1,2,'a string') 小括号是可选的

     利用多元赋值的方式可以实现无需中间变量交换两个变量的值

     x,y=1,2 ;x,y=y,x

    8.python用下划线作为变量前缀和后缀指定特殊变量:

     _xxx :不用'from module import *' 导入

     __xxx__ :系统定义名字

     __xxx :类中的私有变量名

    9.python提供了可以通过__doc__特别变量,动态获得文档字串的机制,在模块、类声明、或者函数声明中第一个没有复制的字符串可以用属性obj.__doc__来进行访问:类的文档变量是class.__doc__、函数的文档变量是function.__doc__

    10.模块结构和布局:

      #(1)起始行

      #(2)模块文档

      #(3)模块导入

      #(4)变量定义

      #(5)类定义

      #(6)函数定义

      #(7)主程序

    11.__name__系统变量 可以指示模块是如何被加载的。如果模块是被导入,__name__的值为模块名字,如果模块是被直接执行,__name__的值为'__main__'

    12.变量只有被创建和赋值后才能被使用

    13.引用计数:

      python内部记录着所有使用中的对象各有多少引用。一个内部跟踪变量,称为一个引用计数器,当这个对象的引用计数变为0时,它被垃圾回收(严格来说并不是)。

      增加引用计数:当对象被创建并(将其引用)赋值给变量时,该对象的引用计数就被设置为1。当同一个对象(的引用)又被赋值给其他变量时,或作为参数传递给函数,方法或类实例时,或者被赋值为一个窗口对象的成员时,该对象的一个新的引用,或者称作别名,就被创建(则该对象的引用计数自动+1)

    例:x=3.14 #创建了一个浮点数对象 并将其引用赋值给x,x是第一个引用

      y=x #创建了一个指向同一对象的别名y,事实上并没有创建新的对象,而是将该对象的引用次数增加了1次

    对象被创建:x=3.14

    另外的别名被创建: y=x

    作为参数传递给函数: foobar(x)

    成为容器对象的一个元素: mylist = [123,x,'xyz']

    以上都会使得引用计数+1

      减少引用计数:当对象的引用被销毁时,引用计数会减小,例如当引用离开其作用范围时,这种情况最经常出现在函数运行结束时,所有的局部变量被自动销毁,对象的引用计数也就随之减少。

    例:foo = 'xyz'  #字符串对象xyz被创建,引用计数为1

      bar = foo    #增加一个别名bar,引用计数+1为2

      foo = 123   #foo被重新赋值给整数对象,xyz对象的引用计数自动减1为1

    一个本地引用离开了其作用范围。比如foobar()函数结束时

    对象的别名被显式的销毁:del y #or del x

    对象的一个别名被赋值给其他对象: x = 123

    对象被从一个窗口对象中移除: mylist.remove(x)

    窗口对象本身被销毁:del mylist

    以上会使得引用计数-1

    14.del语句:会产出对象的一个引用  语法:del obj1[,obj2[....objN]]

    15.不再被使用的内存会被一种称为垃圾收集的机制释放。垃圾收集器是一块独立的代码,它用来寻找引用计数为0的对象,也负责检查那些虽然引用计数大于0但也应该被销毁的对象。

      python的垃圾收集器其实是一个引用计数器和一个循环垃圾收集器。

    16.关键字as:

      as 定义异常实例  except IOError as e :  在老版本中写成except IOError,e :

  • 相关阅读:
    通过IP地址和子网掩码与运算计算相关地址
    IP地址与子网掩码的计算
    win10用键盘控制鼠标
    requirements.txt
    vue中axios使用二:axios以post,get,jsonp的方式请求后台数据
    vue中axios使用一:axios做拦截器
    git切换分支冲突解决-删除分支
    获取指定月份前的第一天和最后一天及两个日期之间的月份列表
    git远程版本回退
    git Please move or remove them before you can merge
  • 原文地址:https://www.cnblogs.com/xiaoyinyue/p/5882347.html
Copyright © 2011-2022 走看看