4.python基础 Python对大小写敏感,缩进的好处就是强迫你写出缩进较少的代码 缺点就是复制代码功能失效了。 1)数据类型和变量 Python可以处理的数据类型:整数;浮点数;字符串; 布尔值(ture or fasle)布尔值可以用and、or、not运算;空值(none,不等于零) 变量:变量名必须是大小写英文、数字和_的组合,且不能用数字开头 常量:就是不能变的量 2)字符串和编码 字符编码:
捋一捋ASCII编码和Unicode编码的区别:ASCII编码是1个字节,而Unicode编码通常是2个字节
UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节。 字符 A 中
ASCII 01000001 x
Unicode
00000000 01000001 01001110 00101101
UTF-8 01000001
11100100 10111000 10101101
Python的字符串
对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符:
>>>ord('A') 65 >>>chr(66) 'B' 以Unicode表示的str通过encode()方法可以编码为指定的bytes >>> 'ABC'.encode('ascii') b'ABC' >>> '中文'.encode('utf-8') b'\\xe4\\xb8\\xad\\xe6\\x96\\x87' 反过来,如果我们从网络或磁盘上读取了字节流,那么读到的数据就是bytes。要把bytes变为str,就需要用decode()方法: >>>b'ABC'.decode('ascii') 'ABC' >>>b'\\xe4\\xb8\\xad\\xe6\\x96\\x87'.decode('utf-8') '中文' 要计算str包含多少个字符,可以用len()函数: >>>len('ABC') 3 len()函数计算的是str的字符数,如果换成bytes,len()函数就计算字节数: >>>len(b'ABC') 3 >>>len(b'\\xe4\\xb8\\xad\\xe6\\x96\\x87') 6 由于Python源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行:
#!/usr/bin/env python3 # -*- coding: utf-8 -*- 格式化 %运算符就是用来格式化字符串的。在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?,括号可以省略。 常见的占位符有: %d-整数 %f-浮点数 %s-字符串 %x十六进制整数 如果你不太确定应该用什么,%s永远起作用,它会把任何数据类型转换为字符串: 小明的成绩从去年的72分提升到了今年的85分,请计算小明成绩提升的百分点,并用字符串格式化显示出'xx.x%',只保留小数点后1位: s1 = 72 s2 = 85
r = 100*(s2-s1)/s1
print('小明成绩提升了%.1f%%' % r) 3)使用list和tuple List
Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。
比如,列出班里所有同学的名字,就可以用一个list表示:
>>>classmates = ['Michael', 'Bob', 'Tracy']>>>classmates['Michael', 'Bob', 'Tracy'] 变量classmates就是一个list。用len()函数可以获得list元素的个数: >>>len(classmates) 3 用索引来访问list中每一个位置的元素,记得索引是从0开始的: >>> classmates[0] 'Michael' >>> classmates[1] 'Bob' 如果要取最后一个元素,除了计算索引位置外,还可以用-1做索引,直接获取最后一个元素: >>>classmates[-1] 'Tracy' 以此类推,可以获取倒数第2个、倒数第3个:
>>> classmates[-2] list是一个可变的有序表,所以,可以往list中追加元素到末尾:
>>>classmates.append('Adam')>>>classmates['Michael', 'Bob', 'Tracy', 'Adam'] 也可以把元素插入到指定的位置,比如索引号为1的位置: >>>classmates.insert(1, 'Jack')>>>classmates['Michael', 'Jack', 'Bob', 'Tracy', 'Adam'] 要删除list末尾的元素,用pop()方法: >>>classmates.pop()'Adam'>>>classmates['Michael', 'Jack', 'Bob', 'Tracy'] 要删除指定位置的元素,用pop(i)方法,其中i是索引位置: >>>classmates.pop(1)'Jack'>>>classmates['Michael', 'Bob', 'Tracy'] 要把某个元素替换成别的元素,可以直接赋值给对应的索引位置:
>>>classmates[1] = 'Sarah'>>>classmates['Michael', 'Sarah', 'Tracy'] Tuple
另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改,比如同样是列出同学的名字:
>>>classmates = ('Michael', 'Bob', 'Tracy') 现在,classmates这个tuple不能变了,它也没有append(),insert()这样的方法。其他获取元素的方法和list是一样的,你可以正常地使用classmates[0],classmates[-1],但不能赋值成另外的元素。 作业: 请用索引取出下面list的指定元素: # -*- coding: utf-8 -*- L = [ ['Apple', 'Google', 'Microsoft'], ['Java', 'Python', 'Ruby', 'PHP'], ['Adam', 'Bart', 'Lisa'] ] # 打印Apple: print(?) # 打印Python: print(?) # 打印Lisa: print(?) L = [ ['Apple', 'Google', 'Microsoft'], ['Java', 'Python', 'Ruby', 'PHP'], ['Adam', 'Bart', 'Lisa'] ] print(L[0][0]) print(L[1][1]) print(L[2][2]) 4)条件判断
if <条件判断1>: <执行1> elif <条件判断2>: <执行2> elif <条件判断3>: <执行3> else: <执行4> 判断程序
s = input('birth: ') birth = int(s)if birth <2000: print('00前')else: print('00后') 作业:
小明身高1.75,体重80.5kg。请根据BMI公式(体重除以身高的平方)帮小明计算他的BMI指数,并根据BMI指数:
低于18.5:过轻18.5-25:正常25-28:过重28-32:肥胖高于32:严重肥胖 用if-elif判断并打印结果: # -*- coding: utf-8 -*- height = 1.75 weight = 80.5 bmi = ??? if ???:
Pass Height=1.75
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新初中教育Python教程2 全文阅读和word下载服务。
相关推荐: