基础操作
多个变量在一行赋值
a, b = 1, 2
Python中print的骚操作(倒计时、转圈显示、进度条)
数据类型
多文件调用
若要在 A 文件运行整个 B 文件,则在 A 文件中如下写:(同一目录下)
import B
if __name__ == '__main__':
B
列表常见操作
获取列表数据的 index
list.index(num)
列表排序
不改变原 list
newlist = sorted(list)
改变原 list
list.sort()
列表切片
例:单独对列表前 n 个数据求和
sum(nums[0:n]) # 从 0 到 n - 1
列表最后一个元素
list[-1]
list.pop()
pop() 括号中的是元素的 index,返回 pop 的值。若直接pop则返回最后一个元素。
注意,pop是对原列表直接删除的操作。
整体替换列表
list1[m:] = list2 # 第 m 个元素后面的元素都替换成 list2 中的元素,list1 变成两个列表的合并
leetcode 相关题解
列表合并(六种方法)
前五种
切片法(同整体替换列表)
[enumerate():将可迭代对象加编号] (https://zhuanlan.zhihu.com/p/92544989)
leetcode 相关题解
这样 for 循环遍历列表可以直接遍历出序号和值,也方便用该列表构造字典 / 哈希表
continue 和 break 的区别
continue 是结束本次循环(执行到该条语句后面不执行了,进行下一次循环)
break 是跳出整个循环
OS 操作
创建文件夹 —— os.mkdir ; os.makedirs
参数解析
import os
os.mkdir(r"C:\Users\ZJL\Desktop\test") # 执行之后会发现桌面产生文件夹 test
# 两函数区别
# 假设 r"C:\Users\ZJL\Desktop\test 路径已存在
# 现在要创建 r"C:\Users\ZJL\Desktop\test\1\2
# os.makedirs 可以,os.mkdir 不行
os.mkdir(r"C:\Users\ZJL\Desktop\test\1\2")
os.makedirs(r"C:\Users\ZJL\Desktop\test\1\2")
# 总结:os.mkdir 只能创建最后一级的目录,os.makedirs 可以全创建
迭代器
python继承
类
super()
的用法总结
super()
是 Python 中用于调用父类(或超类)方法的内置函数。它在子类中重写方法时特别有用,提供了一些优势和灵活性。以下是 super()
的主要用法和优势:
1. 调用父类方法
super()
主要用于在子类中调用父类的方法,尤其是在子类重写了父类方法的情况下。
class Parent:
def greet(self):
print("Hello from Parent")
class Child(Parent):
def greet(self):
print("Hello from Child")
super().greet() # 使用 super() 调用父类的方法
child = Child()
child.greet()
输出:
Hello from Child
Hello from Parent
2. 避免硬编码父类名称
使用 super()
可以避免在代码中硬编码父类的名称,这在多重继承或父类名称可能发生变化的情况下非常有用。
class Parent:
def greet(self):
print("Hello from Parent")
class Child(Parent):
def greet(self):
print("Hello from Child")
super().greet() # 避免硬编码父类名称
child = Child()
child.greet()
3. 支持多重继承
super()
能够正确处理多重继承中的方法解析顺序(MRO),确保方法按照正确的顺序调用。
class A:
def greet(self):
print("Hello from A")
class B(A):
def greet(self):
print("Hello from B")
super().greet()
class C(A):
def greet(self):
print("Hello from C")
super().greet()
class D(B, C):
def greet(self):
print("Hello from D")
super().greet()
d = D()
d.greet()
输出:
Hello from D
Hello from B
Hello from C
Hello from A
4. 提高代码可读性和维护性
使用 super()
可以使代码更具可读性和可维护性,因为它明确表示了调用父类方法的意图。
class Parent:
def greet(self):
print("Hello from Parent")
class Child(Parent):
def greet(self):
print("Hello from Child")
super().greet() # 明确表示调用父类方法
child = Child()
child.greet()
总结
- 调用父类方法:在子类中重写方法时,使用
super()
调用父类的方法。 - 避免硬编码:避免在代码中硬编码父类的名称,使代码更具灵活性。
- 支持多重继承:在多重继承中,
super()
能够正确处理方法解析顺序(MRO)。 - 提高可读性:使代码更具可读性和可维护性,明确表示调用父类方法的意图。
通过使用 super()
,你可以编写更清晰、更灵活的代码,特别是在处理复杂的继承关系时。