zoukankan      html  css  js  c++  java
  • 第一部分 python基础

    1.1,参数传递:*代表元组,**代表字典

    1.2 ,常用数据类型

    列表 [1,2,3]
     元组 (1,2,3) 不可变的list
     集合 {1,2,3}
     字典 {1:a, 2:c}

    (4)字典以关键字为索引,关键字可以是任意不可变类型,通常是字符串或数值


    1.3,文件读写的可选模式
     read('r')只读
     write('w')只写
     'a':以追加方式打开文件,可写不可读
     'r+':以可读可写方式打开文件

    1.4,Zen of python
    python交互解释器中输入import this即可看到。
    主要是介绍了python的设计原则:简洁,明了,灵活,严谨

    1.5 String类型是不可变类型

    1.6 python生成器generator,指一边循环一边计算的机制
    生成generator的方式1:gener = (x*x for x in range(10)) 即将list生成式中的[]换成()
    生成generator的方式2:yield

    生成generator的方式3:xrange()

    1.7 yield
    示例:
    def fab(max):
    n, a, b = 0, 0, 1
    while n < max:
    yield b
    # print b
    a, b = b, a + b
    n = n + 1

    '''
    for n in fab(5):
    print n
    ...
    yield 的作用就是把一个函数变成一个 generator,带有 yield 的函数不再是一个普通函数,
    Python 解释器会将其视为一个 generator,调用 fab(5) 不会执行 fab 函数,而是返回一个 iterable 对象!
    在 for 循环执行时,每次循环都会执行 fab 函数内部的代码,执行到 yield b 时就会中断,fab 函数就返回一个迭代值,
    下次迭代时,代码从 yield b 的下一条语句继续执行,而函数的本地变量看起来和上次中断执行前是完全一样的,
    于是函数继续执行,直到再次遇到 yield

    1.8 函数定义方式
    方式1:def function()
    方式2: lambda 函数 (当程序代码很短,且该函数只使用一次,为了程序的简洁,及节省变量内存占用空间)

    1.9 类型转换
    函数 描述
    int(x [,base]) 将x转换为一个整数
    long(x [,base] ) 将x转换为一个长整数
    float(x) 将x转换到一个浮点数
    complex(real [,imag]) 创建一个复数
    str(x) 将对象 x 转换为字符串
    repr(x) 将对象 x 转换为表达式字符串
    eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象
    tuple(s) 将序列 s 转换为一个元组
    list(s) 将序列 s 转换为一个列表
    set(s) 转换为可变集合
    dict(d) 创建一个字典。d 必须是一个序列 (key,value)元组。
    frozenset(s) 转换为不可变集合
    chr(x) 将一个整数转换为一个字符
    unichr(x) 将一个整数转换为Unicode字符
    ord(x) 将一个字符转换为它的整数值
    hex(x) 将一个整数转换为一个十六进制字符串
    oct(x) 将一个整数转换为一个八进制字符串

    1.10 内存何时销毁
    python内部使用引用计数,来保持追踪内存中的对象,Python内部记录了对象有多少个引用,即引用计数,
    当对象被创建时就创建了一个引用计数,当对象不再需要时,这个对象的引用计数为0时,它被垃圾回收。
    所有这些都是自动完成,不需要人工干预。

    1.11 函数参数传值
    Python参数传递采用的肯定是“传对象引用”的方式。实际上,这种方式相当于传值和传引用的一种综合。
    如果函数收到的是一个可变对象(比如字典或者列表)的引用,此时通过“传引用”来传递对象。
    如果函数收到的是一个不可变对象(比如数字、字符或者元组)的引用,此时通过“传值'来传递对象。

    1.12 代码调试方法
    可以使用eclipse+pyDev设置断点调试,或者使用pdb跟踪调试

    1.13 GIL(global interpreter lock, 全局解释器锁)
    用途:每个interpreter进程,在同一时刻,只能有一个线程获取相关的锁来操作资源。



    参考链接:
    python sort,sorted: http://www.cnblogs.com/BeginMan/p/3193081.html
    python性能技巧:https://www.ibm.com/developerworks/cn/linux/l-cn-python-optim/
    python yield: https://www.ibm.com/developerworks/cn/opensource/os-cn-python-yield/
    python面试题汇总:http://blog.csdn.net/jerry_1126/article/details/44023949

  • 相关阅读:
    model.object对象查询过滤、增删改、Q
    模板中的标签、过滤器
    模板(template)包含与继承
    url用法
    AD用户登录验证,遍历OU(LDAP)
    Python下操作sqlite3
    多线程应用-类(thread)
    数组(list)分组、分段
    多线程应用-函数方式(thread)
    IntelliJ IDEA maven项目 ***
  • 原文地址:https://www.cnblogs.com/lifeinsmile/p/5285058.html
Copyright © 2011-2022 走看看