基本数据结构
list
-
str字符串
常用函数
string.split(' ')
string.replace(str_a, str_b) # 用str_b替换str_a
字符串前缀
u
表示后面字符串以 Unicode 格式 进行编码,一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时出现乱码b
表示这是一个 bytes 对象,网络编程中,服务器和浏览器只认bytes 类型数据。在 Python3 中,bytes 和 str 的互相转换方式是str.encode('utf-8')``bytes.decode('utf-8')
r
disable转义符,常用于正则表达式,对应着re模块。f
以 f开头表示在字符串内支持大括号内的python 表达式类和对象
装饰器
@property
我们可以使用@property装饰器来创建只读属性,@property装饰器会将方法转换为相同名称的只读属性,可以与所定义的属性配合使用,这样可以防止属性被修改。 ```python class myClass: def init(self):
self._property = 15
@property def func_with_property(self):
return self._property
my_class = myClass() print(my_class.func_with_property) # 15
:::success
output: 15
:::
使用上面的方法,可以比较方便的创建只读变量。
<a name="XP8S1"></a>
### @classmethod
`classmethod`装饰器,可以将让类函数的第一个默认参数变成类。调用的时候,默认传入的是**所属类。**并且可以使用类直接调用,无需使用对象。
```python
class A(object):
def foo(self, x):
print(f"executing foo({self}, {x})")
@classmethod
def class_foo(cls, x):
print(f"executing class_foo({cls}, {x})")
@staticmethod
def static_foo(x):
print(f"executing static_foo({x})")
a = A()
a.foo(1)
# executing foo(<__main__.A object at 0xb7dbef0c>, 1)
a.class_foo(1)
# executing class_foo(<class '__main__.A'>, 1)
@staticmethod
staticmethod
没有第一个默认参数,类和对象都可以调用,完全可以当成普通的函数用。有些时候,某一个参数,从逻辑上来讲,就是应该属于这个类,但是又不需要直到类或者对象的具体属性,就可以使用这个装饰器。
类继承
继承构造函数
- 经典类的写法: 父类名称.init(self,参数1,参数2,…)
- 新式类的写法:super(子类,self).init(参数1,参数2,….)
常用操作
查看python路径
import sys
print(sys.path)
类型转换
利用eval(str)
函数,可以将字符串格式的数据转换成相应的数据文件IO
读取txt
with open(file_path, 'r') as f:
f.read() # 读取文件中的所有内容
f.readline() # 读取一行,对大文件友好
f.readlines() # 以列表形式返回所有的内容,每一行都会读进换行符,可以利用replace('\n', '')来去除