python 基础知识
基础知识
运算和循环
1)这里使用:莫烦python学习:https://mofanpy.com/tutorials/python-basic/interactive-python/
2)运算
+ | 加 | 3+4=7 |
---|---|---|
- | 减 | 3-4=-1 |
* | 乘 | 3*4=12 |
/ | 除 | 3/2=1.5 |
% | 取模 | 103%100=3 |
** | 幂 | 3**2=9 |
// | 取整除 | 10//3=3 |
3)条件判断
1 |
|
4)for和while循环
for | 天然适合在有限的循环中 |
---|---|
while | 可以被用在无限循环中 |
1 |
|
break | 紧急弹出 |
---|---|
continue | 算了,我接着来 |
1 |
|
1 |
|
数据类型
list列表
1
2
3
4
5
6
7
8
9files = ["f1.txt", "f2.txt", "f3.txt", "f4.txt", "f5.txt"]
print("files[0] ", files[0])
print("files[3] ", files[3])
print("files[-1] ", files[-1])
print("files[-3] ", files[-3])
print("files[:3] ", files[:3])
print("files[2:4] ", files[2:4])
print("files[-3:] ", files[-3:])在列表中,你可以存放不同类型的元素,字符,数字,甚至列表里还能有列表。 所以这个抽屉还挺万能的。
1
2
3
4l = [1, "file", ["2", 3.2]]
print(l)
l[2][0] = "new string"
print(l)Dict 字典
- 可以理解为List是抽屉,Dict是为抽屉贴标签,后续找东西就可以根据标签找。
1
2
3
4
5
6files = {"ID": 111, "passport": "my passport", "books": [1,2,3]}
print(files)
print(files["books"])
files["ID"] = 222
print(files)Tuple 元组
- 元组有它一个唯一的独特性,就是它里面的东西不可变,定下来就定下来了,不让你变。
1 |
|
- set 合集
- set 里面只会存在非重复的元素
1 |
|
1 |
|
6)在循环中使用
1 |
|
7)自带功能
往列表里面添加和pop值。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25files = []
for i in range(5):
files.append("f"+str(i)+".txt") # 添加
print("has", files)
for i in range(len(files)):
print("pop", files.pop()) # 从最后一个开始 pop 出
print("remain", files)
# 输出:
has ['f0.txt']
has ['f0.txt', 'f1.txt']
has ['f0.txt', 'f1.txt', 'f2.txt']
has ['f0.txt', 'f1.txt', 'f2.txt', 'f3.txt']
has ['f0.txt', 'f1.txt', 'f2.txt', 'f3.txt', 'f4.txt']
pop f4.txt
remain ['f0.txt', 'f1.txt', 'f2.txt', 'f3.txt']
pop f3.txt
remain ['f0.txt', 'f1.txt', 'f2.txt']
pop f2.txt
remain ['f0.txt', 'f1.txt']
pop f1.txt
remain ['f0.txt']
pop f0.txt
remain []常用的功能函数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
files = ["f1.txt", "f2.txt"]
# 扩充入另一个列表
files.extend(["f3.txt", "f4.txt"])
print("extend", files)
# 按位置添加
files.insert(1, "file5.txt") # 添加入第1位(首位是0哦)
print("insert", files)
# 移除某索引
del files[1]
print("del", files)
# 移除某值
files.remove("f3.txt")
print("remove", files)字典也是,也有额外的一些常用功能,比如
get()
,update()
等,我下面在补充一下。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15files = {"ID": 111, "passport": "my passport", "books": [1,2,3]}
# 按key拿取,并在拿取失败的时候给一个设定好的默认值
print('files["ID"]:', files["ID"])
print('files.get("ID"):', files.get("unknown ID", "不存在这个 ID"))
# 将另一个字典补充到当前字典
files.update({"files": ["1", "2"]})
print('update:', files)
# pop 调一个item,和列表的 pop 类似
popped = files.pop("ID")
print('popped:', popped)
print("remain:", files)
Function 函数
1)定义函数:
1 |
|
2)参数列表
1 |
|
3)全局和局部变量
变量 | 特点 |
---|---|
全局 global | 函数里外都能用 (公用) |
局部 local | 仅在函数内有用 (私有) |
这里注意
1 |
|
问题:为什么我在 modify_name()
里面修改了 filename
,而且在里面打印出来时,它的确也被修改了, 但是在外面打印 filename
的时候却没有变化?
答:因为自私的 modify_name()
想自己在内部搞一套标准, 你外面有啥不要紧,如果我自己也搞一个一样的东西,那我就觉得自己这个更重要,就不看外面的东西了。所以local的filename
就是 modify_name()
自己那一套。
如果需要改变呢:
1 |
|
modify_name()必须先向外面打一个申请报告,向外面申请自己要去修改公用的
filename`。
Class类
1)定义class
用 class File
来创建一个大概念(类),注意我们通常约定类的名字要首字母大写。 然后用 my_file = File()
来创建一个具体的文件。
1 |
|
self
是作为类自己的一个索引,不管你在定义类的时候,想要获取这个类的什么属性或功能,都可以通过 self
来获取。 比如这个 File
类中,获取类自己的 create_time
,就写成了 self.create_time
。
__init__
每当你进行一次 my_file = File()
这种操作的时候,把类给实例化的时候, File
类都会触发一次 __init__
功能,所以这是一个功能,用于初始化一些设置。
2)class的功能
初始化 File()
的时候传入你要 __init__
的参数。
1 |
|