第 2 课 字符串和数据结构
不会的东西可以在群里提问、或搜索查看标准库文档 和 入门教程。( Ctrl + F )
课程纲要和笔记
- 数据结构
- 复习变量
- 变量是内存的名字,赋值过程就是名字的重新绑定。例子:
a = 1
a = a + 1
- 变量是内存的名字,赋值过程就是名字的重新绑定。例子:
- 复习数据类型
- int, float:
+
-
*
\
\\
%
- str:
+
==
replace()
split()
format()
strip()
notice:*
- bool:
or
and
not
str()
,float()
,int()
:特定的类型有特定的运算,所以需要进行类型转换。
- int, float:
- 复习变量
- 数据结构是什么以及意义是?
- 上述数据类型是最基本的、不可分割的数据结构。例子:学生信息表:学号、身份证、姓名。
- 由于内存的性质,我们需要把现实世界的数据用线性的结构表示。数据结构,要考虑其结构和操作。
- list 列表
- 数据:本质上是表格,线性排列,可以是任何类型,
- 操作:
- 增
append()
[] * n
+
- 删
pop()
pop(i)
- 改
array[i] = n
- 查
fruits.index(x)
- 更多特性
- tuple 不可变列表
- 字符串和文件读写
- 字符串切片:如何更加方便提取字符串?字符串
- 编码和
format()
:如何格式化输出?format 格式化输出
f = open(file_name, 'w', encoding="utf-8")
f.close()
- 如何存储文件?文件读写
- 需要 close 因为操作系统的规定。
f.read()
,f.readline()
f.write()
- 简要复习上一课的内容,解答作业
- 编写一个程序:能顺序地输入两个数,回车后,程序将在在屏幕上打印两个数分别加减乘除的结果,程序代码应该包括你的注释。
- 编写一个程序:能先输入字符串 s,然后输入一个整数 n,程序将把 n 个字符串拼接打印出来。
课后作业
-
编程作业,程序满足:自定义一个
list
里面包含一些整数,自行对其进行增删改查操作,转换成str
类型,按照utf-8
编码输出为txt
文件。 -
复制下列代码,并利用它在屏幕上打印出
Google likes Python
。
L = [
['Apple', 'Google', 'Microsoft'],
['Java', 'Python', 'Ruby', 'PHP'],
['likes', 'dislikes', 'own']
]
附录
-
注意:上课的时候突然卡壳了!
readline()
在遇到行尾的时候返回空白字符串,转成bool
型是False
,正确的按行读取并且加载到数组中应该是这样:array = [] with open("test.txt", "r", encoding="utf-8") as f: text = f.readline() array.append(text) while text: text = f.readline() array.append(text) print(array)
-
上课代码
if __name__ == '__main__': print("hello") a = 1 a = a + 1 a = "test" print(a.capitalize()) print(a == b) user = input() age = input() welcome = "hello, {0}, {1}".format(user, age) print(welcome) b = "hello" n = int(input()) # integer # int(n) * str(b) --> str print(n * b) flag = True # not # not True = False # or # (bool) and (bool) print(flag and False) # 原子 # 学生表 :学号(str or int)、身份证(str)、姓名(str)。 # 学生表 : x1 学号身份证姓名 # 学生表 : x2 学号身份证姓名 # 图 1-256 array = [2, "s", 1.16 ] a = [1, 9, 3] b = [2, 2,2] matrix = [ a , b , [ 2,3,5 ] ] array.append("hello") array = ["s"] * 9 new_list = array + matrix print(new_list) new_list.pop(3) new_list[0] = "T" new_list.clear() print(new_list) print(new_list.index("s")) # (list) .index( ) t1 = tuple([1, 2, 4, 5, 8]) table = tuple(["monday", "tuesday"]) print(table[0]) string = "s12255122sw" # [] print(string[1:-2]) print(string[-2:]) # gbk # utf-8 # 01010 --> a # 01010 --> b # f = open("test.txt", "w", encoding="utf-8") # r: read w:write f.write(string * 10) f.close() # array = [] # with open("test.txt", "r", encoding="utf-8") as f: text = "2" while text: text = f.readline() array.append(text) print(array) a = float(input()) b = float(input()) print(a * b, a + b , a / b) s = input() n = int(input()) print(n * s)