Python学习笔记(2)
Unicode字符串: GB2312编码为表示中文产生 python内部编码是unicode编码
Unicode通常用两个字节表示一个字符,原有的英文编码从单字节变成双字节,只需要把高字节全部填0 就可以
以Unicode表示的字符串用u’….’表示
如:print u’中文’ (不加u中文就不能显示)
字符串在Python内部的表示是unicode编码,因此在做编码转化时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码decode成unicode,再从unicode编码encode成另一种编码
decode的作用是将其他变编码的字符串转化成Unicode编码,如str1.decode(‘gb2312’),表示将gb2312编码的字符串str1转化成unicode(或者unicode(str1,’gb2312’))
encode的作用是将unicode编码转换成其他编码的字符串,如str2.encode(‘gb2312’),表示将unicode编码的字符串str2转换成gb2312编码
代码中字符串的默认编码与大妈文件本身的编码一致
Window默认编码gbk linux默认编码utfs
整数和浮点数:
Python支持对浮点数和整数直接进行四则混合运算(运算规则和数学上的四则运算规则完全一致)
(整数与整数运算仍然是整数,浮点数与浮点数运算是浮点数,整数与浮点数运算是浮点数)
求余: %
布尔类型:False True
Python把0,空字符串‘’和None看成False 其他数值和非空字符串都看成True
Python集合类型:
List (列表):list是一种有序(按照顺序排列的)的集合,可以随时添加和删除其中的元素
[ ]把list 元素都括起来,就是一个list对象
通常把list赋值给一个变量,这样就可以同法国比那俩来引用list
L=[‘Michale’,100,True] 注意:由于python是动态语言,所以其list元素并不要求必须是同一数据类型 空list L=[]
Python按照索引访问list print L[0] #打印列表中第一个元素(索引从0开始)
正序从0开始,逆序从-1开始::当索引数字为负数时,表示逆序独处list中的内容,记住list的最后一个空间的编号为-1开始(不能越界)
添加新元素:
append()把新的元素添加到list尾部 如: L.append(‘paui’)
insert()把元素插入到索引号处,,第一个参数是索引号,第二个参数是待添加的新元素
如:L.insert(0,’paile’) L为list赋值给的变量名,把paile添加到索引为0处,原来的都自动后移一位
删除新元素(pop):
pop()默认删除第一个,,pop(索引号),,删除该索引号位置上的元素
替换元素: L[索引号]=‘paul’,直接赋值即可
创建tuple: tuple是另一种有序的列表,中文翻译为“元组”,tuple一旦创建完毕就不能修改了 ,创建tuple时,用()括住所有元素即可 例如:t=(‘ccfdvg’,’vfgth’,’bgh’)
访问时: t[0],,或者t[-1] 与list一样
空tuple t=()
创建单元素tuple:
单元素tuple的()被当作优先级 (1)变成整数1 单元素括号结尾加 , 例如:t=(1,)
打印单元素tuple时,也自动添加, print t (1,)
“可变”的tuple(指向不变,指向的东西可以变)
t=(‘a’,’b’,[‘A’,’B’])
L=t[2]
L[0]=’X’
L[1]=’Y’
Print t
(‘a’,’b’,[‘X’,’Y’]) #实质是改变了list的元素
Python的条件判断和循环语句
If语句:
age=20
If age>=18:
print ‘ your age is’,age
Print ‘adult’
print ‘END’
Python代码的缩进(4个空格)规则,具有相同缩进的代码呗视为代码块,上面的3,4行print语句就构成一个代码块(但不包括第5行的print)
注意:if语句后接表达式。然后用:表示代码块开始
在交互模式环境下敲代码。要特别留意缩进,并且退出缩进需要多敲一行回车
例如:
age=20
if age>=18:
... print ‘your age is ’,age
... print ‘adult’
...
If-else语句:
例如:
age=20
If age>=18:
print ‘adult’
Else: (注意else后面的 :)
print ‘teenager’
if-elif-else语句:
例如:
if age>=18:
print ‘adult’
elif age>=6:
print ‘teenager’
else:
print ’kid’
for循环:
例如:
L=[‘Adma’,’Lisa’,’Bart’]
For name in L;
print name
注意:name这个变量是在for循环中定义的(这是一个临时变量名字可自定义),意思是,依次取出list中的每一个元素,并把元素赋值给name,然后执行for循环体
while循环:
和for循环不同的另一种循环是while循环,while循环不会迭代list或tuple的元素,而是根据表达式判断循环是否结束。
比如要从0开始打印不大于N的整数:
N=10
X=0
while x<N
print x
x=x+1
While循环每次先判断下x<N,如果为True,则执行循环体的代码块,否则,退出循环
在循环体内,x=x+1会让x不断增加,最终因x<N不成立而退出循环
break退出循环
用for循环或者while循环时,如果要在循环体内直接退出循环,可以使用break语句
**
continue继续循环**
在循环过程中。可以使用break推出当前循环,还可以用continue跳过后续循环代码,继续下一次循环
例如:
对计算0-100的while循环进行改造,通过增加continue语句,使得只计算奇数的和:
思路: if判断到是偶数,continue跳过。
实现代码:
多重循环(嵌套循环):在循环内部,还可以嵌套循环
相关文章