1.源代码
python源代码文件以py为扩展名,由python程序解释,不需要编译。
1 |
#!/usr/bin/python |
2 |
print "hello" |
2.字节代码
python源文件经过编译后生成以pyc为扩展名的文件,编译方法:
1 |
import py_compile |
2 |
py_compile. compile ( '1.py' ) |
3.优化代码
经过优化的源文件,以pyo为扩展名,编译方法:
python -O -m py_compile 1.py
执行前需要赋予可执行权限,chmod +x 1.py,然后./1.py(或python 1.py),python 1.pyc,python 1.pyo
变量——python变量和C语言语法差不多,id(变量名)可以获取此变量指向的地址。
运算符——"//",整除;"**",次方;逻辑运算符:and or not
输入输出——输出 print;输入 raw_input()。(输入的值为字符串,需要转换为数值型,比如int(raw_input(“please input a number:”)),提示并转换为数值类型)
数据类型——type()方法输出数据类型。整型(int)、长整型(long)、浮点型(float)、复数型(complex,比如1+2j)、字符型、列表、元组。序列类型(字符串、列表和元组)。
1 |
a = 'abcde' |
1 |
/ / 索引 |
2 |
a[ 0 ] / / 输出 'a' |
1 |
/ / 切片 |
2 |
a[ 1 : 4 ] / / 输出 'bcd' |
3 |
a[: 4 ] / / 输出 'abcd' |
4 |
a[ 4 :] / / 输出 'e' |
5 |
a[:: 2 ] / / 输出 'ace' ,以步长为 2 取值 |
6 |
a[ - 1 ] / / 输出 'e' ,反向取值 |
序列的基本操作:
1.len() //序列的长度
2.+ //连接两个序列
3.* //重复序列(print a*2 输出'abcdeabcde')
4.in //判断元素是否在序列中
5.max(),min() //返回最大值、最小值
6.cmp(tuple1,tuple2) //比较两个序列的大小,返回1则tuple1大,返回-1则tuple2大,返回0则相等。
元组
特点:和字符串一样不可变;和C语言结构体类似,可以装多类型数据;属于序列,可以进行索引和切片操作
创建元组:1.空元组,t1=() 2.只含单一元素的元组,t=(2,)(注意逗号,没有逗号则为int类型) 3.一般元组 t=('Jim',22,'male')
1 |
t = ( 'Jim' , 22 , 'male' ) |
2 |
name,age,gender = t |
3 |
print name / / 'Jim' |
4 |
print age / / 22 |
5 |
print gender / / 'male' |
列表
特点:有序,可变,和C语言的数组类似,但是可以装多种数据类型
操作:
1.取值,切片或者索引
2.添加,list.append()
3.删除,list.remove(object) 也可以使用系统函数del(list[])
4.修改,list[]=x
5.查找,var in list
字典
特点:python中唯一的映射类型(哈希表),字典对象是不可变的,但是键对象是不可变的,键值可以是不同数据类型;keys(),values()分别返回键列表和值列表;items()返回包含键值对的元组
创建字典:
1.一般方法:dic={'name':'Jim','age':22,'gender':'male'}
取值dic['name']//'Jim'
2.使用工厂方法dict()
dict1=dict(['x':1],['y':2])
3.内建方法fromkeys(),创建字典中元素具有相同的值,默认为None
dict2={}.fromkeys(('x','y'),-1)//x和y的值都是-1
访问字典的值:for k in dict1.keys():或者for k in dict1:
字典的更新与删除:内建方法update();删除del(dict1['x']), pop(dict1['x']),删除x的键值对并返回x对应的值;dict.clear()删除字典所有元素;del(dict1)删除字典。
列表方法:
方法 | 说明 |
append( item) | 在列表末尾插入(item ) |
count(element ) | 返回element在列表中出现的次数 |
extend(newlist) | 将newlist的元素插入列表末尾 |
index(element) | 返回element在列表中的索引,如果不存在,则引发ValueError异常 |
insert(index,item) | 在index位置插入item |
pop( [index] ) | index参数为可选的。如无参调用,则会删除并返回列表最后一个元素。如指定index参 数,则删除并返回位置index的元素 |
remove( element) | 删除首次在列表中出现的element,如果列表不存在element,则引发 ValueError异常 |
reverse( ) | 当场反转列表内容(不创建反转列表的拷贝) |
sort | 当场对列表内容排序。可选参数compare-function是一个函数,它指定了比较条件 |
compare-function取得列表的任意两个元素(x和y)。如果x应出现在y之前, 就范围-1;如果x和y的顺序无关紧要,返回0;如果x应出现在y之后,则返回1 |
方法 | 说明 |
clear( ) | 从字典删除所有项 |
copy( ) | 创建并返回字典的浅拷贝(新字典元素为原始字典的引用) |
get(key[,returnvalue]) | 返回key的值,若无key而指定了returnvalue,则返回returnvalue 值,若无此值则返回None |
has_key( key ) | 如果key存在于字典中,就返回1(真);否则返回0(假) |
items( ) | 返回一个由元组构成的列表,每个元组包含一对键-值对 |
keys( ) | 返回一个由字典所有键构成的列表 |
popitem( ) | 删除任意键-值对,并作为两个元素的元组返回。如字典为空,则返回KeyError异常 |
setdefault(key[,dummvalue]) | 具有与get方法类似的行为。如key不在字典中,同时指定了dummvalue,就将键 (key)和指定的值(dummvalue)插入字典,如果没有指定dummvalue,则值为None |
update( newDictionary ) | 将来自newDictionary的所有键-值添加到当前字典,并覆盖同名键的值 |
values( ) | 返回字典所有值组成的一个列表 |
iterkeys( ) | 返回字典键的一个迭代器 |
iteritems( ) | 返回字典键-值对的一个迭代器 |
itervalues( ) | 返回字典值的一个迭代器 |