Python教程2

更新时间:2023-09-14 18:33:01 阅读量: 初中教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

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

本文来源:https://www.bwwdw.com/article/xz2h.html

Top