Python 入门 笔记

慕课网 Python 入门 http://www.imooc.com/learn/177 笔记

 

Python 适合:Web,工具+脚本,胶水语言

    解释型语言——运行慢,代码少,源码不能加密

    代码格式非常重要

    交互式环境下编程,代码块最后要多敲一个回车

    V2.7 和 V3.3 不互相兼容,根据第三方库选择

    十六进制数 = Ox + 0-9 + a-f

    print + “,” 隔开,自动添加空格

    注释:“#” 开头

    变量本身类型不固定 = 动态语言,反之 = 静态语言(如Java)

命令 解释器
 a = "ABC"

create a

create "ABC"

point a → "ABC"

 b = a

create b

point b → a → "ABC"

 a = "XYZ"

create "XYZ"

point a → "XYZ"

(b retain "ABC")

 

 

 

 

 

 

 

 

 

 

 

字符:

    \ 转义符,\n 换行,\t 制表符,\\ 返回 \

     r '''...''' 的形式定义 raw 字符串

    1 byte = 8 bit = 二进制 11111111 = 十进制 255,所以 0~255 表示了大小写字母和数字,这个编码表即 ASCII 码

    Unicode 用 u '''...''' 表示

    如果使用中文时遇到 unicode dececodeerror,在第一行加 “# -*- coding: utf-8 -*-”,表示用...读取,另存为..

布尔计算中的短路计算:

    0,“ ” 和 None 都是 False

    a and b 时:

        a = False,则结果必为 False,返回 a

        a = True,则结果取决于 b,返回 b

    a or b 时:

        a = True,返回 a

        a = False,返回 b

    所以 a = True 时,print a and 'a=True' or 'a=False',返回 'a=True'

    总结:短路计算,即只要能提前确定计算结果,就不会往后算了

list[0~n-1] or list[-n~-1] (易错点:遍历时,引用序列要用中括号,从0开始)

    list.append(), 加到最后

    list.insert(位置, 值)

    list.pop(x), 删除并返回,默认x=-1

    sum(list),可以接受list为参数,返回list中所有元素的和

    enumerate(),把list中的元素转变为(index, value)的tuple

    zip,合并list为tuple的list

tuple(),元组,不能改变值的list

    为避免歧义,单元素的元组要加",":(1)→1 vs (1,)→(1,)

循环和判断:

    if, elif, else

    for xx in list

    while, break 可退出while死循环

    continue,跳过本次循环,运行下面的语句,所以continue的位置非常重要!!!

dict = {key: value, ...}

    len(),返回任意集合的个数

    in,检查key是否存在

    dict.get(key),当key不存在,返回None

    for key in dict 可以返回key,但是是无序的

    不可变的元素才能做key

    value(),把dict的value变成list

    itervalue(),省内存的value()

    items() & iteritems()

set([...]),无序的,不可重复的list

    s = set([1,2,2]) → s = ([1,2])

    访问set,返回元素是否存在:print 1 in s→ True,用途:快速判断用户输入值是否有效

    set.add()

    set.remove()

函数:

    help(函数名),查看帮助

    函数可以返回多个值,其本质是一个tuple

    函数可以有默认参数,但注意!参数从左至右匹配,所以默认参数一定要在必需参数之后

    可变参数:本质也是tuple

递归函数:

    def fact(n):  # 阶乘

        if n == 1:

            return 1

        return n * fact(n-1)

    def move(n, a, b, c):  # 汉诺塔

        if n == 1:

            print a '-->' c

            return

        move(n-1, a, c, b)

        print a '-->' c

        move(n-1, b, a, c)

 切片:

    字符串或各种集合

    [0: 3] == [:3] == [0], [1], [2]

    [:] == all

    [::2] == all by 2

    range(0, 101, 7) == 0 to 100 by 7

posted @ 2017-06-16 17:00  聪子童鞋  阅读(170)  评论(0)    收藏  举报