基本数据结构

list

  • 删除特定元素:list.remove(element)

    str字符串

    常用函数

    1. string.split(' ')
    2. 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):

    1. self._property = 15

    @property def func_with_property(self):

    1. return self._property

my_class = myClass() print(my_class.func_with_property) # 15

  1. :::success
  2. output: 15
  3. :::
  4. 使用上面的方法,可以比较方便的创建只读变量。
  5. <a name="XP8S1"></a>
  6. ### @classmethod
  7. `classmethod`装饰器,可以将让类函数的第一个默认参数变成类。调用的时候,默认传入的是**所属类。**并且可以使用类直接调用,无需使用对象。
  8. ```python
  9. class A(object):
  10. def foo(self, x):
  11. print(f"executing foo({self}, {x})")
  12. @classmethod
  13. def class_foo(cls, x):
  14. print(f"executing class_foo({cls}, {x})")
  15. @staticmethod
  16. def static_foo(x):
  17. print(f"executing static_foo({x})")
  18. a = A()
  19. a.foo(1)
  20. # executing foo(<__main__.A object at 0xb7dbef0c>, 1)
  21. a.class_foo(1)
  22. # executing class_foo(<class '__main__.A'>, 1)

@staticmethod

staticmethod 没有第一个默认参数,类和对象都可以调用,完全可以当成普通的函数用。有些时候,某一个参数,从逻辑上来讲,就是应该属于这个类,但是又不需要直到类或者对象的具体属性,就可以使用这个装饰器。

类继承

继承构造函数

  1. 经典类的写法: 父类名称.init(self,参数1,参数2,…)
  2. 新式类的写法:super(子类,self).init(参数1,参数2,….)

    常用操作

    查看python路径

    1. import sys
    2. print(sys.path)

    类型转换

    利用eval(str)函数,可以将字符串格式的数据转换成相应的数据

    文件IO

    读取txt

    1. with open(file_path, 'r') as f:
    2. f.read() # 读取文件中的所有内容
    3. f.readline() # 读取一行,对大文件友好
    4. f.readlines() # 以列表形式返回所有的内容,每一行都会读进换行符,可以利用replace('\n', '')来去除