《python 入门经典》读书笔记

第一章 开始

模块文件

1python 在import 或者from import的时候回执行一次文件。但是只执行一次。不同的文件如果同时引用同一个文件,也只会执行一次。并且获得该文件的顶层的名字
可以使用reload函数在执行一次文件

dir

dir不带任何参数的话返回的是当前交互环境空间内所有定义的名字

自己理解 就是所有可用的名字,因为我from import 里面的名字也在

环境变量

python 模块查函路径 pythonpath 用于import 的时候的查找
python交互式启动文件路径 pythonstartup

比较,相等性和真值

python 的比较’==’ 回自动使用递归判断
is 判断的是同一个对象

赋值生成引用,而不是拷贝

分片只是生成了一个顶层对象的copy。

list2= list1[:]

重复也只是直接赋值引用不是copy

x=y*4 只是引用

元组和列表的赋值是从左到右依次赋值

while else

while 循环 只有在没有break的情况下才会 执行else。

函数

global是把名字映射到包含他的模块的名字空间里面

函数查找的层次  先局部,次之全局,再次之内置
不提供嵌套的作用域
var =1

def f1():
    var =2
    f2()


def f2():
    print var

f1() #输出1

函数的参数匹配是从左到右依次匹配。函数第一个参数必须提供

1可变参数匹配没有被匹配的位置匹配参数(*name)在一个元祖中和关键字参数(**name)在一个字典中

2调用中,关键字参数必须在非关键字参数之后
3定义中位置任意匹配在默认值之后,关键字任意匹配在最后

lambda表达式

lambda 参数1,参数2,。。参数n:使用的表达式

apply

调用任意函数
apply(函数名,参数元祖)

函数的局部变量值是在编译的时候决定的。并不是在运行的时候

x =99
def f():
    print x
    x =88

f中会在导入文件的时候决定x是局部变量然后真正执行print的时候会因为局部变量x没有复制所以导致出错

嵌套的函数对嵌套他的函数里面的变量没有任何访问权。LGB规则。

解决方法就是把外层函数的变量变成默认函数传入到内层函数里面

默认对象是在定义的时候初始化。并不是每次调用的时候都会初始化

    def server(x=[]):
        x.append(1)
        print x

要避免这种定义的话需要用这种方式

    def server(x=None)
        if x is None:
            x= []
        x.append(1)
        print x

模块

导入模块之后。生成一个模块对象。所有顶层名字都会成为模块对象的属性。
在模块内部。模块的名称空间是一个__dict__的字典变量

重载模块reload

模块只在第一次import 的时候回加载。之后只是单纯的复用。如果需要重新加载那么就要用reload
reload执行之后影响所有的import用户 影响所有将来使用from的用户。之前使用from的用户保留原有的旧代码

模块中名字为单下划线或者双下划线大头的名字在from* 中是不会被包含进来的。

在python程序内部可以直接使用sys .path变量改变python查找模块的路径

内置的’import’ 函数以一个字符串作为参数然后加载相应的模块返回一个模块对象

python类的内置的函数操作

__init__
__repr__ 打印转换
__call__
__getattr__ 属性引用
__getitem__索引的
__setitem__
__getslice__分片
__len__ len(x)
__cmp__ x==y x<y

多重继承

python是从左到右的深度优先的搜索一个名字。
如果超类中有多个相同的名字。那么使用遇到的第一个。如果想引用被隐藏的名字。那么要使用超类的名字加点来进行引用

Lgb规则同样适用于类

对于嵌套类来说无法访问外层类的东西
解决方法就是加入一个self变量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值