5534 发表于 2015-12-30 13:46:37

python的基础语法

python数据类型:(按特征划分)
        数字类型:
1.        整形:布尔形、长整型L、标准整形
2.        非整形:双精度型、复数、decimal(不是内建类型)
        序列类型:
1.        字符串(str)
2.        元组(tuple)
3.        列表(list)
        映像类型:
1.        字典(dict)
        集合类型:
1.        可变集合(set)
2.        不可变集合(frozenset)

python数据类型(按可变性划分)
        可哈希的,不可变数据类型:
1.        数字类型
2.        不可变集合(frozenset)
3.        字符串(str)
4.        元组(tuple)
        可变数据类型:
1.        字典(dict)
2.        列表(list)
3.        可变集合(set)

python中引号的作用:
1.        ‘‘
2.        ““
3.        ‘’’‘’’
单引号和双引号基本没区别,同样的作用;双引号可以内嵌单引号。三引号作为大段文字的注释。

python的编解码
1.        ASCII
2.        Unicode
3.        UTF-8

python模块
1.        import moduleName:导入一个模块
2.        from module import functionName:从一个模块中导入一个方法
3.        import moduleName as newModuleName:把一个模块重新命名

python用户交互:
        使用内置函数:raw_input(),该函数接收一个字符串。
        input(),该函数接收一个数字类型

python流程控制:
        if … else …
1.        split
2.        strip
3.        len()
        for variable in range(1, 10):
        while True:
1.        break
2.        continue

python第一天作业:编写登陆接口
        要求:输入用户名密码;认证成功后显示欢迎信息;输错三次后锁定

回顾第一天的主要内容:
        python的基本语法、数据类型、导入模块、流程控制。


python文件处理:
        读文件:代码展示
        f = file(‘filename.txt’, ‘r’)
        for line in f.readlines():
                line = line.strip(‘\n’).split(‘:’)
                print line
        文件处理模式:
                r:以只读模式打开文件
                w:以只写模式打开文件
                a:以追加模式打开文件
                r+b:以读写模式打开
                w+b:以写读模式打开
                a+b:以追加及读模式打开

python字符串处理:
        str.find(substring, ]) #可指范围查找子串,返回索引值,否则返回-1
        str.rfind(substring, ]) #反向查找
        str.index(substring, ]) #同find,只是找不到产生valueerror异常
        str.rindex(substring, ]) #同上反向查找
        str.count(substring, ]) #返回找到子串的个数

        str.lowercase()
        str.capitalize()首字母大写
        str.lower()转小写
        str.upper()转大写
        str.swapcase()大小写互换
        str.split(str, ‘ ‘)将string转list,以空格分割
        str.join(list, ’ ’)将list转string, 以空格分割

        len(str)字符串长度
        cmp(“my friend”, str) 字符串比较。第一个大返回1
        max(‘abcxyz’) 寻找字符串中最大的字符
        min(‘abcxyz’) 寻找字符串中最小的字符

python中的列表:
        list的方法:
        list.append(var) 追加元素
        list.insert(index, var)
        list.pop(var) 返回最后一个元素,并从list中删除
        list.remove(var) 删除第一次出现的该元素
        list.count(var) 该元素在列表中出现的个数
        list.index(var) 该元素的位置,无则抛异常
        list.extend(list2) 追加list2,到list上。合并
        list.sort() 排序
        list.reverse() 元素顺序反转

        list 片段操作符,用于子list的提取
        + 为。同extend()
        *4 为

        del list 删除指定下标的元素
        del list 删除指定下表范围的元素
        list = list1 list是list1的别名,内存地址相同,对list操作就是对list1的操作
        list = list2[:] 生成list2的一个copy

python元组:
        tuple:常量数组
        tuple = (‘a’, ‘b’, ‘c’, ‘d’)
        可以用list的[],:操作符提取元素,就是不能直接修改元素

一个小案例:购物车程序
        要求用户输入工资,然后打印购物菜单;用户可以不断的购买商品,直到钱不够为止;退出时格式化打印用户已购买的商品和剩余金额。

开发文件替换小程序:
使用方法:
./pythonFile.py ‘source string’‘replace string’ filename.txt
./pythonFile.py ‘source string’‘replace string’ filename.txt--bakfilename.txt.bak


python字典DICT:
        dict.get(key, 0) 同dict, 多了个没有则返回默认值,0。[]没有则抛出异常
        dict.has_key(key) 有该键返回True, 否则False
        dict.keys() 返回字典键的列表
        dict.values() 以列表的形式返回字典中的值, 返回值的列表中可包含重复元素
        dict.items() 将所有的字典项以列表方式返回,这些列表中的每一项都来自于(键,值), 但是项在返回时并没有特殊的顺序
        dict.update(dict2) 增加合并字典
        dict.popitem() 得到一个pair,并从字典中删除它,已空则抛出异常
        dict.clear() 清空字典,同del dict
        dict.copy() 拷贝字典
        dict.cmp(dict1, dict2) 比较字典,(优先级为元素个数、键大小、键值大小
        dict1 = dict2 给dict2取个dict1的别名
        dict2 = dict.copy() 克隆,另一个拷贝


python中列表与字典的比较:
        dict:
1.        查找和插入的速度极快,不会随着key的增加而速度变慢
2.        需要占用大量的内存,内存浪费多。
3.        key不可变
4.        默认无序
list:
1.        查找和插入的时间随着元素的增加而增加
2.        占用空间小,内存浪费少。
3.        通过下标查询
4.        有序

pythonSET集合
        特点:无序;元素不重复
        功能:关系测试;去重

        set集合运算:
                a = set()
                b = set()
                a & b 求交集 a.intersection(b)
                a | b 求并集 a.union(b)
                a – b 求差集 a.difference(b)
                a ^ b 求对称差集 a.symmetric_difference(b)
a.issubset(b)a是b的子集
                a.issuperset(b)a是否包含b


python第二天作业:员工信息表
        用户可以模糊查询员工信息
        显示匹配了多少条,匹配字符需要高亮显示

回顾第二天的主要内容:
        python的文件处理、字符串、列表、元组、字典、集合。


Python第三天主要内容:
1.        IDE的使用
2.        模块和模块的常用方法
3.        函数式编程
4.        Yield
5.        三元运算
6.        Lambda表达式
7.        内置函数
8.        常用模块
9.        装饰器

python中模块和模块的常用方法:
        __init__.py文件:在一个目录下面必须要有这个文件才能把该目录下的py文件作为模块导入到另一个py文件里面。

        是否为主文件:__name__      if __name__ == ‘__main__’
        当前文件路径:__file__       
        当前文件描述:__doc__

python的函数式编程
        参数:def fun(arg, *args, **kargs):
        默认参数: print arg
        可变参数: print args
        返回值: return ‘success’

内置函数:
        help()dir()vars()type()import tempreload(temp)id()

页: [1]
查看完整版本: python的基础语法