一、输入/输出
print,输出
raw_input(),输入,括号中可写入提示用户输出的字符串。
二、注释
#,单行注释
'''或""",3个单引号或双引号,多行注释
三、数据类型
整数,包括正整数和负整数,十进制的写法和数学上的写法一样,16进制的要用0x前缀/
浮点数,小数
字符串,用单引号或双引号括起来的文本
布尔值,ture/false
空值,none
变量,可以是任意数据类型的,命名规则同js命名规则一样。python是动态语言,所以不需要指定变量类型,python也是一个弱类型的语言所以不需要声明。直接 他通过=给变量赋值。
常量,全部大写的变量名表示常量。例如PI=3-14
列表,list是一种有序的集合,可以随时添加和删除其中的元素。例如:classmates = ['Michael','Bob','Tracy'],可以用len()获取列表的元素个数。list的索引是从0开始的,可以通过索引来访问list中的每一个位置的元素。当索引超过范围是就会报错,所以一般使用len(classmates)-1来表示最后一个元素的索引。list中的元素数据类型可以不同,list中的元素也可以是另一个list,例如:s = ['python','java', ['asp','php'],'scheme']
list相关方法:
classmates.append('adam'),追加元素到末尾;
insert(指定位置的索引号,要插入的值),插入元素到指定的位置;
pop()删除list末尾的元素,pop(i),删除指定位置的元素,i是索引位置;
元组,tuple是一种有序列表,和list非常相似,但是tuple一旦初始化就能不更改。因为tuple值不可变,所以更安全,所以尽量用tuple代替list。在定义只有一个元素的tuple时必须加一个逗号如:t = (1,)因为括号有歧义,可以表示tuple又可以表示数学公式中的小括号。元组的不变只是每个元素的指向永远不变。例如下图的tuple中的list就能发生改变
四、字符编码
计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。
Python发布比unicode早,所以最早的Python只支持ascII码。ord()和chr()函数可以把字母和对应的数字相互转换,例如:ord('A') chr(65)。python后来添加了对unicode的支持,以unicode表示字符串用u'...'表示。例如:print u'中文字符'。把u’***‘转换为utf-8用encode('utf-8')方法,例如:u'中文'.encode('utf-8')。
python源码是一个文本文件,当源码含有中文2时,为了防止代码报错要在文件开头加上这两行:
#!/usr/bin/env python #这行注释是为了告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释;
# -*- coding: utf-8 -*- #这行注释是为了告诉Python解释器,按照UTF-8编码读取源代码
格式化:当要输出:'亲爱的xxx你好!你xx月的话费是xx,余额是xx'之类的字符串时,python采用和c语言一致的格式,用%实现。例如:'Hi, %s, you have $%d.'% ('Michael',1000000) ==》输出结果:'Hi, Michael, you have $1000000.'
%运算符就是用来格式化字符串的。在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?,括号可以省略。如需要使用特殊字符“%”,可以用%%表示一个%。
常见的占位符有:%d,整数;%f,浮点数;%s,字符串;%x,十六进制整数。
五、条件判断和循环
1、条件判断
if<条件判断1>:
<执行1>
elif<条件判断2>:
<执行2>
elif<条件判断3>:
<执行3>
else:
<执行4>
elif是else if的缩写
2、循环
for...in循环,依次把list或者tuple中的每个元素迭代出来。
names = ['Michael','Bob','Tracy']
for name in names:
print name
range(n)函数可以生成,从0开始到小于n的数的一个list,例如:range(5) [0,1,2,3,4]
while循环,只要满足条件就循环,不满足就退出。
sum =0
n =99
whilen >0:
sum = sum + n
n = n -2
print sum
六、dict
dict,字典全称dictionary,在其他语言中称为map,使用键-值(key-value)存储数据,具有极快的查找速度。由于一个key只能对应一个value,所以对一个key多次放入value时,后面的值会把前面的冲掉。
如果key不存在,dict就会报错,避免key不存在的错误,可以通过in判断key是否存在,格式:要测试的key值 in dict名;还可以通过get方法,key不存在就返回None或者自己指定的value,格式:dict名.get(要测试的key值)
特点:
1、查找和插入的速度极快,不会随着key的增加而增加;
2、需要占用大量的内存,内存浪费多。
list的特点和dict的相反。
set,是一组key的集合,key不能重复,要创建一个set,需要提供一个list作为输入集合:s =set([1,2,3])
add(key)方法可以添加元素到set中;
remove(key)方法可以删除元素;