python基础学习-1(数据类型)

 

 

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

 

字典的一些方法:
备注:
     字典方法中的copy( )方法为浅拷贝(含义见说明)。字典深拷贝方法为(假设i为字典):
w=i[:]
这表示w字典为i字典的一个深拷贝。
方法 说明
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( ) 返回字典值的一个迭代器

 

 

来源:http://my.oschina.net/chape/blog/123250

posted @ 2013-04-30 21:40  94julia  阅读(198)  评论(0编辑  收藏  举报