标签: Python 进阶

16 篇文章

071、动态编译
动态编译 标准编程语言 对于 C 语言,代码一般要先编译,再执行。 .c -> .exe 解释器语言 shell 脚本 .sh -> interpreter Byte Code 编译 Python, Java 等语言先将代码编译为 byte code(不是机器码),然后再处理: .py -> .pyc -> interpreter eval 函数 eval(statement, glob, loc…
070、作用域
作用域 在函数中,Python 从命名空间中寻找变量的顺序如下: local function scope enclosing scope global scope builtin scope 例子: local 作用域 def foo(a,b): c = 1 d = a + b + c 这里所有的变量都在 local 作用域。 global 作用域 c = 1 def foo(a,b): d =…
068、修饰符的使用
修饰符的使用 @classmethod 修饰符 在 Python 标准库中,有很多自带的修饰符,例如 classmethod 将一个对象方法转换了类方法: class Foo(object): @classmethod def bar(cls, x): print 'the input is', x def __init__(self): pass 类方法可以通过 类名.方法 …
067、修饰符
修饰符 函数是一种对象 在 Python 中,函数是也是一种对象。 def foo(x): print x print(type(foo)) 查看函数拥有的方法: dir(foo) ['__call__', '__class__', '__closure__', '__code__', '__defaults__', '__delattr__', '__dict__', '__doc__', '_…
066、with 语句和上下文管理器
with 语句和上下文管理器 # create/aquire some resource ... try: # do something with the resource ... finally: # destroy/release the resource ... 处理文件,线程,数据库,网络编程等等资源的时候,我们经常需要使用上面这样的代码形式,以确保资源的正常使用和释放。 好在Python…
065、生成器
生成器 while 循环通常有这样的形式: <do setup> result = [] while True: <generate value> result.append(value) if <done>: break 使用迭代器实现这样的循环: class GenericIterator(object): def __init__(self, ...): …
064、迭代器
迭代器 简介 迭代器对象可以在 for 循环中使用: x = [2, 4, 6] for n in x: print n 2 4 6 其好处是不需要对下标进行迭代,但是有些情况下,我们既希望获得下标,也希望获得对应的值,那么可以将迭代器传给 enumerate 函数,这样每次迭代都会返回一组 (index, value) 组成的元组: x = [2, 4, 6] for i, n in enume…
063、函数进阶:参数传递,高阶函数,lambda 匿名函数,global 变量,递归
函数进阶:参数传递,高阶函数,lambda 匿名函数,global 变量,递归 函数是基本类型 在 Python 中,函数是一种基本类型的对象,这意味着 可以将函数作为参数传给另一个函数 将函数作为字典的值储存 将函数作为另一个函数的返回值 def square(x): """Square of x.""" return x*x def …
062、对象关系映射
对象关系映射 数据库中的记录可以与一个 Python 对象对应。 例如对于上一节中的数据库: Order Date Stock Quantity Price A0001 2013-12-01 AAPL 1000 203.4 A0002 2013-12-01 MSFT 1500 167.5 A0003 2013-12-02 GOOG 1500 167.5 可以用一个类来描述: Attr. Metho…