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]