python2.x基础学习笔记(一)

来源:互联网 发布:linux 查看字体 编辑:程序博客网 时间:2024/06/05 04:14

python文件格式

第一行指定脚本运行环境的python路径(可选)

第二行指定文件编码

需要添加模块注释(一个文件就是一个模块),方便使用 __doc__ 调取

需要为每个函数与类添加注释,使用三引号,方便使用 __doc__ 调取

使用四个空格的缩进,不需要花括号

#!/Users/nizhenyang/Python_Envs/python2.7/bin/python# -*- coding:utf-8 -*"""this is a test module"""def test():    """test is a test function"""    passclass TestClass (object):    """TestClass is a test class"""    pass# 使用这个语句判断其是否为主模块if __name__ == '__main__':    foo = TestClass()    test()

获取模块与方法的帮助

  • module.__doc__
  • func.__doc__
  • dir(module)
  • help(module)
  • help(func)

python中变量为对对象的引用

变量只是一个对对象的引用,类似于c中的指针,只不过其可以指向任何对象的地址

使用 id() 获取对象的地址

num = 2var1 = numvar2 = numprint "id(var1): %d, id(var2): %d,  %s" % (id(var1), id(var2), id(var1) == id(var2))# id(var1): 140354092286448, id(var2): 140354092286448,  Trueprint var1 is var2# True

使用 copy.deepcopy 进行深复制


python的核心数据类型

  • 数字 int long float complex bool
  • 字符 str unicode
  • 列表 list
  • 字典 dict
  • 元祖 tuple
  • 文件 file
  • 集合 set frozenset
  • 类类型
  • None
  • 管道 pipes fifos
  • sockets

数据类型之间的转换

  • str() repr() format(): * –> string (注:str是给人用的,repr是给编译器用的 eval)
  • int() float(): * –> number
  • list(): string –> list
  • tuple(): string –> tuple
  • set(): string –> set
  • dict(d): (k, v)序列 [(‘a’, 1), (‘b’, 2), (‘c’, 3)]

  • chr(): int –> char

  • ord(): char –> int
  • hex(): int –> 十六进制
  • bin(): 二
  • oct(): 八

number之间的一些运算

  • 4.2 // 1.2 计算出的结果不包括小数
  • 1 ^ 2 异或
  • 1 ** 2 乘方
  • 1 & 2 按位与运算
  • ^ 1 取反
  • 1 | 2 按位或运算
  • math 内建模块

number科学计数输出

num = 4.6print "%f, %e, %g" % (num, num, num)# 4.600000, 4.600000e+00, 4.6

string的相关使用

使用unicode:在文件开始处加上# -*- coding:utf-8 -* 或在字符串前加’u’ u'共产党万岁'

对字符串进行切片

str = '0123456789'print str[:]print str[1:4]print str[1:]print str[1::3]print str[-5:]print str[-1::-1]# 输出结果#0123456789#123#123456789#147#56789#9876543210

一些常用方法

  • 首字母大写
    • str.capitalize()
  • 子串首先出现的位置
    • str.index()
  • 连接 “”.join([1,2,3,4])
    • str.join()
  • 替换
    • str.replace()
  • 划分
    • str.split()
  • trim
    • str.strip()

序列类型 list tuple set

通用方法

  • 切片
  • len()
  • min()
  • max()
  • sum()
  • all()
  • any()
  • +
  • *
  • in
  • not in

可变序列的用通用操作

  • s[i]=v 元素复制
  • s[i:j] = t 切片赋值
  • del s[i]
  • del s[i:j]
  • del s[i:j:stride]

list

容器类型,通过索引访问,可变对象,异构,任意嵌套

  • append() 添加
  • extend() 原处扩展列表
  • insert() 插入
  • pop() 按索引删除
  • remove() 按元素删除
  • range(10) ==> [0, 1, …. 8, 9]
  • 复制 list ll[:] | copy.deepcopy()

tuple

与list相似,但是不可变,长度固定 支持切片

元祖本身不可变,但是其中嵌套的可变


set

一组无序排列的可哈希的值,支持集合关系测试 交并补差,不支持索引,元素获取,切片,没有特定语法格式,只能通过工厂函数创建

  • s.copy
  • s.difference 差集
  • s.intersection & 交集
  • s.symmetric_difference() ^ 对称差
  • s1 | s2 并集
  • pop

dict

键值组合,关联数组,散列表

len(dict) 字典中元素的个数

dd = {}

  • 清空 d1.clear()
  • 复制 d2 = d1.copy()
  • 获取 d1.get(k) : 无异常抛出 比较 d1[k]
  • 判断是否有key d1.has_key(k)
  • 键值为元祖的列表 d1.items() t1, t2 = d1.items() - pack
  • 键列表,值列表 d1.keys() d1.values()
  • 随机弹出键值映射 d1.popitem()
  • 类似于extend d1.update()
  • 迭代器 ddd = d1.iteritems() ddk = d1.iterkeys()
  • 显示构造 d1.viewitems() d1.viewkeys() d1.viewvalues-
  • 快速构建字典 zip : dict(zip(‘xzy’, ‘123’)) ==> {‘y’: ‘3’, ‘x’: ‘1’, ‘z’: ‘2’}
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 故意让小偷偷车捉住他怎么办 进屋门正对着厕所门怎么办 楼房对面门上放个镜子我该怎么办 从顺丰发的水果坏了顺丰不管怎么办 汽车塑料件被机头水腐蚀了怎么办 孕期吃了炒菜里面加的香精怎么办 五个月宝宝只长身高不长体重怎么办 孩子6个月奶水越来越少怎么办 孩子快三个月了奶水越来越少怎么办 老婆生完孩子乳房肿胀不下奶怎么办 大人吃了退烧药不出汗怎么办 三岁宝宝抵抗力差总生病怎么办 8个月宝宝发烧39度怎么办 小孩发烧吃了药不退烧怎么办 小孩一直发烧39度左右不退怎么办 九个月宝宝反复发烧39度怎么办 八个月宝宝反复发烧39度怎么办 十个月宝宝反复发烧39度怎么办 2岁宝宝反复发烧怎么办39度左右 宝宝两周岁光吃水果不吃饭怎么办 3岁宝宝光吃水果不吃饭怎么办 中学生就爱玩儿游戏不爱学习怎么办 一岁宝宝只吃水果不吃饭怎么办 孩子发烧咳嗽怎么办最有效的方法 打了百白破孩子一直发烧咳嗽怎么办 顺产侧切肛门坠胀解大便难受怎么办 2岁拉肚子拉水怎么办吃什么药 三岁宝宝三天没拉大便怎么办 3个月宝宝3天没大便怎么办 3个月宝宝4天不拉大便怎么办 17个月宝宝看见生人害怕怎么办 大人给四个月婴儿喂糖水怎么办 宝宝12个月了还一直坐着玩怎么办 七个月宝宝发烧不到38℃怎么办 一个月大的婴儿头立不起来怎么办 18个月的宝宝晚上总找妈妈怎么办 婴儿吃了妈妈生气的奶上火怎么办 3个月的宝宝认人怎么办 十天大的婴儿大便是泡沫该怎么办 婴儿3天没有拉大便了怎么办 儿童两三天拉一次大便是稀便怎么办