您的位置:首页 > 编程语言 > Python开发

python1

2016-06-17 23:26 239 查看
运行python文件:python 1.py;

源代码:python源代码的文件以“py”为扩展名,以pyc为编译后的扩展名

python 文件在开始应加上python的解释器路径,一般为:#!/usr/bin/python

这样只要文件有可执行权限,可以直接执行

通过import  py_compile 编译python文件:

import py_compile

py_compile.compile('1.py')
“.pyo”为经过优化的源文件, python -O -m py_compile 1.py;

python 是以数据为主的语言,如:a = 10  b = 10; 那么a,b两个变量的地址是一样的,可以通过id(a) ,id(b)查看; 一般把a 称作数据的引用

python 的运算:

复制运算符:= ,+= ,-=, *= , /=,  %=  , +, - , * ,  / (3/2 = 1,3.0/2 =1.5), // (整除 3.0/2=1.0) , ** (幂运算 2**3 = 8) 

关系运算符 and ,or ,not (not 1<2) , 也可以使用位移 << , >>

raw_input() 标准输入,要转化时int(raw_input())

raw_input("输入提示"),字符串相加时,做的是拼接 如:“1234”+“abc” = "1234abc"

数据类型:

整形:范围:-2,147,483,648 ~ 2,147,483,647 ;例:a = 10 可以用type(a)查看a的类型

长整形: long ;强制定位长整形后面加‘L’ a = 123L;

浮点:a = 1.2;

复数型:complex Python 对复数提供内嵌支持;如: a = 3.14j, 8.32e-36j 复数包括 实部和虚部,虚部用j 表示

string :可以使用‘’,“” ,“”“abc”“”;三重引号通常用来制作字符串,在面向对象时解释 

如果用 str = 'let's go ' 时用产生歧义,这时可以用 \  转移字符

切片:取出字符串一段内容:str = '123456789'   str[a:b,c] ,从索引a开始,b 到那个索引终止,c 步长,str[1:4:2]为 24 ;str[1:4]为234,索引为-1时表示取最后一个值

str[-4:-1]为678;str[-1] = 9; str[-2:-5:-1] (-1为表示方向,向左取值) 876;

序列:列表,元素和字符串都是序列

特点:索引操作和切片

索引:索引操作符让我们可以从序列中抓取一个特定的项目

切片:切片操作符让我们能够获取序列的一个切片

序列的操作:

1. len() 求序列的长度

2. + :连接2个序列

3.* :重复序列元素

4 in: 判断元素是否在序列中  例: ‘a’ in str 成功返回True,失败返回 False

5 max() :返回最大的值

6 min():返回最小的值

7 cmp(tuple1,tuple2)比较2个序列是否相等

元组:

元组和列表十分类似,只不过元组和字符串一样是不可变的即你不能修改元组

元组通过圆括号中用逗号分隔的项目定义

元组通常用在语句或用户定义的函数能够安全地采用一组值的时候,即被使用的元组的值不会改变

例:t = ("milo",30,"male");t[0] :"milo" ,t[1] :30;t[2]:"mailo"   

t3=(3) ;type(t3) 的类型为int  ;t1 = ();ti为tuple,t2=(2,),t2的类型为tuple

元组的操作:

元组和字符串类型一样属于序列类型可以通过索引和切片操作,元组值亦不可变

列表:

list 是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目

列表是可以变类型的数据

列表的组成:用[ ] 表示列表,包含了多个以“ ,”分隔开的数字或者字符串

例:list1 = [ ' Simon ' ,' David ' ,' Clotho ' ,' 张三 '  ]

list2 = [ 1 ,2 ,3 ,4] 

列表操作:

取值:1,切片和索引
2,list[ ]

添加:list.append();

删除:del(list[ ])
list.remove(list[ ]) 不管删除那个元素list的地址不变

修改: list[ ] = x;

查找:var in list

字典:

字典是Python中唯一的映射型(哈希表)

字典对象是可变的,但是字典的键必须使用不可变对象,并且一个字典中可以使用不同类型的键值

keys()或者values()返回键列表或者值列表

items()返回包含键值对的元组

字典不能用索引来访问

创建字典: {  },使用工厂方法dict() 如:fdict = dict( [ ' x ' ,1] , [ ' y ' , 2 ] )

内建方法:fromkeys(),字典中的元素具有相同的值,默认为None ,例:ddict = { }.fromkeys( ( ' x ' , ' y ' ),-1 )

访问字典中值:

直接用key访问:key 不存在会报错,可以使用had_key()或者 in 和not in判断,但是has_key()方法即将废弃

循环遍历:例,for key in dict1.keys();

使用迭代器:for key in dict1;

更新和删除:

直接用键值访问更新;内建的update()可以将整个字典的内容拷贝到另外一个字典中

del dict1[ ' a ' ] 删除字典中键值为a的元素

dict.pop( ' a ' ) 删除并且返回键为‘ a’ 的元素

dict . clear() 删除字典所有元素

del dict  删除整个字典

字典相关的内建函数

type(),str(),cmp();(cmp很少用于字典的比较,比较依次是字典的大小,键,值)

工厂函数dict()例:dict(zip(‘ x ’ ,' y '),(1 , 2 ))或者 dict(x =1,y = 2)

使用字典生成字典比用copy慢,因此这种情况下推荐使用copy();

len(),hash()(用于判断某个对象是否可以做一个字典的键,非哈希类型报TypeError错误)

dict.fromkeys(seq,val = None);以seq中的元素为键创建并返回一个字典,val为制定的默认值

dict.get(key,default = None);返回key的value ,如果该键不存在返回default指定的值

dict.has_key(key) :判断字典中是否存在key,建议使用in和not in 代替

dict.items():返回键值对元素的列表

dict.keys();返回字典中键的列表。

dict.iter*(): iteritems(),iterkeys(),itervalues()返回迭代器子而不是列表

dict.pop(key[ ,default ]): 同get(),区别是若key 存在,删除并返回dictp[key],若不存在且default 未指定值,抛出keyError异常

dict.setdefault(key,default = None):同set(),若key 存在返回其value,若key不存在,则dict[key] = default

dict.update(dict2);将dict2 中的键值对添加到字典dict中,如果有重复则覆盖,原字典不存在的条目添加进

dict.values():返回字典中所有值的列表
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: