开学到现在6个星期过去了,前段时间真的是太忙了一直没有时间更新自己的博客。最近比较空,计划把学的python跟opengl好好总结一下。
python执行方式
交互模式
命令行下直接输入python进入python交换模式,输入命令即可
输入exit()可推出
文本模式
源代码
python xx.py 可直接运行 或者 给xx.py 可执行权限 直接 ./xx.py 即可自行
字节代码
python源文件经编译后生成 xx.pyc编译方法:执行 import py_compilepy_compile.compile(‘xx.py‘)即可生成 xx.pyc 文件python xx.pyc 即可执行优化文件
经过优化的源文件 ,xx.pyo执行 python -O -m py_compile xx.pypython xx.pyo 即可执行
python的变量
定义变量不需要声明类型,python中的变量就像是引用,只是对应内存中的一块值进入交互模式输入a = 1 # 定义变量b = 1id(a) #获得变量的地址id(b)会发现 a,b的地址是相同的,python中变量就像一个标签,整形 1 存在一个内存地址,a跟b都指向它
python的运算符
一般的就不说了,// python除了 / 一般的除法外 还有 // 整数除法 例如 5.9//2 为 2.0
** 求幂运算 例如 5**3 5的3次方
输入输出
print xx 输出raw_input() 输入 例如 a=raw_input() 给a赋值,如果输入1 就服1,但这是字符串的“1”想要整形的要转换 a=int(raw_input())raw_input("plase input:") 显示提示信息
python的数据类型
type(a) 查看变量数据的类型int 整形 long长整形 可以通过 num = 111L 来强制赋值长整形
float浮点型compex 复数类型 例如 c =1+ 2j (就相当于数学中的i)字符串 ‘xxx’ 跟 “xxx” 没有区别”“” 三个引号 已 以原本的形式输出例如 a=""" aaaaa
bbbbb
ccccc
ddddd
"""
print a会显示输出aaaabbbbbcccccddddd
python数据类型-序列类型
序列类型 有字符串,元组,列表,字典
序列类型特点:索引操作符 跟 切片操作
例如:
a=‘abcdef‘a[0]+a[1]a[0:3] #切片a[:4]a[2:]a[0:4:2]a[-1]a[-4:-1]a[4:1:-1]a[-1:-4:-1]序列的基本操作len()+ ‘a’+‘b’* 例: print ‘c’×10 输出10个 ‘c’in 例: ‘c’ in str 返回BOOL类型值max() 例:max(‘abcde‘) 返回最大值 ‘e’min() 例:min(‘abcde‘) 返回最小值 ‘a’cmp(tupl1,tuple2) 比较两个序列元组 ( )
跟字符串一样,是不可以变得a=(1,‘xx‘,‘a‘,123,1.3) 其中的值定义了就不能改了
定义单个元素的元组 a=(1,) 逗号不要忘记。例子:>>> a=(‘wang‘,18,‘x‘)
>>> name,age,sex=a // 就像 a,b,c=1,2,3
>>> name
‘wang‘
>>> age
18
>>> sex
‘x‘
列表 [ ]
值是可以改变的,值的类型也可以改变例子:>>> a=[1,2,3]
>>> a
[1, 2, 3]
>>> a[0]=‘wang‘
>>> a
[‘wang‘, 2, 3]
>>> a[1]=18
>>> a
[‘wang‘, 18, 3]列表可以添加删除元素list.append(xx) //添加list.remove(list[i]) //删除list.remove(值) //可直接写要删除的值 例:a=[‘aaa‘,‘bbb‘,‘ccc‘] a.remove(‘aaa‘)del(list[i]) //删除var in list //查找字典 { }
相对于元组跟列表 字典提供了映射关系,也是pyhton中唯一的一个映射类型例子:>>> a={‘a‘:‘wang‘,‘b‘:18,‘c‘:‘man‘}
>>> a[‘a‘]
‘wang‘
>>> a[‘b‘]
18
其他的生成字典方式:使用工厂方法dict()使用内建方法 formkeys()字典添加删除元素添加:>>> a
{‘y‘: 2, ‘x‘: 1}
>>> a[‘z‘]=3
>>> a
{‘y‘: 2, ‘x‘: 1, ‘z‘: 3}
删除a.pop(‘a‘) 删除并且返回键为‘a’ 的元素a.clear() 删除字典中所有元素del(a) 或 del a 删除字典a方法:dict.get(key[,default]): 返回key的value,如果存在返回default指定的值。dict.pop(key[,default]): 若key存在则删除并返回dict[key],不存在则返回default抛出KeyError异常dict.has_key(key): 判断字典中是否存在key,建议哟娜 in 跟 not in 代替dict.items(): 返回字典中键值对的列表dict.keys(): 返回字典中键的列表dict.values(): 返回字典中值得列表dict.setdefault(key[,default]): 若key存在则返回value,若key不存在,则dict[key]=default。dict.update(dict2): 将dict2中的键值对加到dict中,如果键有则覆盖。dict.iteritems() iterkeys() itervalues() 返回iterator