Python简介 1.优点
简单,容易学习免费开源高级语言,细节隐藏解释性,可移植。一次编写,到处运行面向对象可扩展。可嵌入c/c++,或者使用c/c++提高性能扩展库2.缺点 - 慢! - shell脚本不友好
doc命令
pip install package(包名)pip –verbose install package(若安装包失败可以打印出失败原因)pip list(列出已安装的包)pip install package(包名) -i –trusted-host site:改变安装源,从国内的镜像中安装。eg.pip install -i –trusted-host http://pypi.douban.com/simple/ pandas文件读写:文本/二进制 文本:行读写 二进制:偏移量+大小
格式化字符串:print(‘%s,%d’%(‘aaa’,100))
常用关键字
常量
TrueFalseNone(相当于null)对象和容器
classimportfromdel:从对象里删除一个元素判断
ifelifelseisin:判断对象在不在容器里assert: 循环forwhilecontinue:跳出当前循环breakpass:什么都不做 哪种情况下使用:若无pass则报错,用pass做填充 class Empty(object): #pass def fun(): return 100; print(fun())异常
raisetryexceptfinallyas常用运算符
算术运算符
+-*/%**:指数运算//:除法之后只取整数部分比较运算符
>,>=<,<===!=逻辑运算
andornot位运算 :无异或 可用not(y1==y2)来表示
>>右移一位除2<<左移一位乘2&|^ print(0b1101|0b0101)#0b1101 13 print(0b1101&0b0101)#0b0101 5 print(0b1101^0b0101)#0b1000 8 def pow2(n):#n是不是2的指数 return (n&(n-1))==0 print(pow2(16)) print(pow2(32)) print(pow2(33))基本语法
缩进 try: x=100 y=200#与上行不对齐 except IndentationError: print('IndentationError')
注释:
#:单行注释”’:多行注释\n:换行 (一行写不完,分两行写但仍实际是一行): str1='abc'\ 'def' print(str) print('hello\nworld') str2='''hello world''' print str2 print('hello world')#出错 单双引号:单引号相当于双引号 print('abc') print("abc") print('abc"123"def')'''单引号中有双引号不用转义,双引号中有单引号不用转义,单引号中有单引号需要转义,双引号中有双引号需要转义''' print("abc'123'def") print('abc\'123\'def') print("abc\"123\"def") python3默认utf-8支持,Python2需声明 若打开错误则在开头声明 # -*- coding:utf-8 -*- 或#coding:utf-8Python2.x和3.x的区别
print函数:3.x一定要加()Unicode:3.x默认使用unicode编码除法运算:3.x整相除也能得到浮点数结果异常:3.x只能抛出继承自BaseException的异常xrange:3.x取消xrange(2.7中为种子生成器),range和xrange一样为实现为惰性求值(全生产放到list中,再从list中取值)二/八进制:3.x必须强制写成0b1011和0o7236。不等式:3.x取消了<>,只有!=‘’(正则表达式中):3.x中必须使用repr函数多个模块改名:Queue->queue,repr->reprlib数据类型 3.x取消了long,统一为int新增bytes类型,并可与string相互转换dict的keys/items/values方法返回迭代器,iterkeys函数被废弃,has_key被in取代 x=range(5) print(type(x))#3.x中输出range类型,2.x中输出list类型 print((1024).to_bytes(2,byteorder='big'))#2个字节,高字节在左边 print((1024).to_bytes(4,byteorder='little'))#4个字节,高字节在右边 print((-1024).to_bytes(2,byteorder='big',signed=True))#负数 print((-1024).to_bytes(4,byteorder='little',signed=True)) print('%x'%(3124)) print('%d'%(0x0c34))