1.Python中的数据类型
python可以出来任意大小的整数。
十六进制用0x前缀和0-9、a-f表示。
字符串以''或""括起来。
布尔值只有true、false两种值,可用and(与)、or(或)、not(非)运算
空值None。
2.变量
变量用一个变量名表示,变量名必须是大小写英文、数字和下划线(_)的组合,且不能用数字开头。
在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量。这种变量本身类型不固定的语言称之为动态语言。
3.字符串问题
1)转义字符\
\n表示换行
\t表示一个制表符
\\表示\字符本身
2)raw字符串和多行字符串
需要转义的字符很多时,在字符串''前面加一个前缀r表示raw字符串,则字符串里面的内容不需要转义了。
多行字符串用'''…'''表示即可。
3)Unicode编码
如果中文字符串在Python环境下遇到 UnicodeDecodeError,这是因为.py文件保存的格式有问题。可以在第一行添加注释:
# -*- coding: utf-8 -*-
4.列表list
L = [ 'Adam', 95.5, 'Lisa', 85, 'Bart', 59] print L print L[0] #按照索引访问 print L[-1] #倒序访问 L.append('Paul') #追加新元素到list尾部 L.insert(0, 'Bob') #添加新元素到索引0的位置上 L.pop() #删掉list的最后元素 L.pop(2) #删掉索引2位置上的元素 L[2] = 'Paul' #替换元素
5.元组tuple
tuple与list相似,但是tuple创建完毕后不可修改。
t = ('Adam',) #创建单元素tuple t = ('a', 'b', ['A', 'B']) #创建可变tuple
6.条件判断与循环
1)if语句
score = 85 if score>=90: print 'excellent' elif score>=80: print 'good' elif score>=60: print 'passed' else: print 'failed'
2)for循环
L = [75, 92, 59, 68] sum = 0.0 for score in L: sum+=score print sum / 4
#多重循环 for x in ['A', 'B', 'C']: for y in ['1', '2', '3']: print x + y
3)while循环
break退出当前循环。
continue跳过后续代码,继续下一次循环。
#计算100以内奇数的和 sum = 0 x = 1 while x<=100: sum+=x x+=2 print sum
7.dict
dict的作用是建立一组key和一组value的映射关系。
花括号{}表示这是一个dict,然后按照 key: value, 写出来即可。最后一个 key: value 的逗号可以省略。
在一个dict中,key不能重复。
存储的key-value序对是没有顺序的。
作为 key 的元素必须不可变。
d = { 'Adam':95, 'Lisa':85, 'Bart':59, 'Paul':75 } len(d) #len()函数可以计算任意集合的大小。一个key-value算一个,因此dict大小为4 if 'Paul' in d: print d['Paul'] #使用d[key]的形式来查找对应的value print d.get('Bart') #使用dict本身提供的get方法查找key对应value值,当key不存在时返回None。 d['Bob'] = 72 #添加新同学Bob的成绩72 d['Bart'] = 60 #更新dict for name in d: #遍历dict print name,":",d[name]
8.set
创建 set 的方式是调用 set() 并传入一个 list,list的元素将作为set的元素。
set的内部结构和dict很像,唯一区别是不存储value。
set存储的元素和dict的key类似,必须是不变对象。
set不能包含重复元素。
set存储的元素也是没有顺序的。
s = set(['Adam', 'Bart']) print 'Adam' in s #访问 set中的某个元素实际上就是判断一个元素是否在set中。 print 'bart' in s #大小写很重要,'Bart' 和 'bart'被认为是两个不同的元素。 s.add('Bob') #添加元素,如果元素已经存在,不报错但也不会添加 s.remove('Bob') #把已有元素从set中删除,如果元素不存在,则报错
#判断用户输入的月份是否有效 months = set(['Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec']) x1 = 'Feb' x2 = 'Sun' if x1 in months: print 'x1: ok' else: print 'x1: error' if x2 in months: print 'x2: ok' else: print 'x2: error'
#遍历set s = set([('Adam', 95), ('Lisa', 85), ('Bart', 59)]) for x in s: print x[0],":",x[1]