Python 基础知识总结

说明:文中出现代码均为伪代码


1. 字符串相关:


str.replace(o_str, n_str) # 返回替换后的新字符串

str3 = str1 + str2        # str1 == 'a' and str2 == 'bc' ==> str3 = 'abc'

str.upper()              # 返回全大写字符串

str.lower()              # 返回全小写字符串

str.title()              # 返回每个单词首字母大写字符串

str.rstrip()              # 返回删除 str 末尾空格的字符串

str.lstrip()              # 剔除开头空格

str.strip()              # 剔除两端空格

2. 列表相关


# 创建列表

empty = list()            # 空列表

roles = ['audit', 'comm_user', 'admin']

copy_role = list_roles[:] # 复制 roles 列表到 copy_role 列表


# 列表 <--> 字符串:

"".join(list)

split_list = str.split() # 默认以空格分隔,可指定特定分割符

e.g:li = ['a', 'b', 'c']

string = " ".join(li)  # string == 'a b c'

string1 = ";".join(li) # string == 'a,b,c'

split_list = string.split() # li[i] == split_list[i]


# 增加元素

list[-1]   # 返回list最后一个元素

list.append(str)          # 将 str 添加到 list 末尾

list.insert(0, str)      # 将 str 插入到 list[0]

del list[0]              # 删除 list[0]

li = list.pop()          # 弹出 list 末尾元素

li = list.pop()          # 弹出 list[0]

list.remove('value')      # 从列表中删除第一个值为 value 的项


# 排序

list.sort()              # 顺序排,改变 list

list.sort(reverse=True)  # 逆序排序(按字母顺序、数字大小等)

list.reverse()            # 反转顺序(按照索引)

sorted(list)              # 返回排序后 list, 不改变 list

sorted(list, reverse=True)# 返回逆序排列后的 list,不改变 list

sorted(list, key=lambda x:len(x)) # 返回按 list 元素长度排序的列表,不改变 list


# 数字列表

min(list)

max(list)

sum(list) 

num = list(range(1,9,2)) # num == [1, 3, 5, 7]


# 列表操作

for i in num: # 遍历

    print(i)

if 2 in num: # 判断指定元素在列表中的存在性

    print('2 is a prat of the num_list')

for i in range(1, 5): # 结果应为 1,2,3,4

print(i)

3. 字典


# 删除键值对

del dict['key']

# 遍历

for k, v in dict:  # 为提高可读性,k、v可使用响应字段明

    pass

for k in dict.keys():      # 也可直接遍历 key

    pass

for v in dict.values():    # 遍历values

    pass

4. 元组、set


set(list)                    # 去重

name_tuple = ('hank', 'bob')

name_tuple[0] = 'alice'      #错误, 不能单独改变 tuple 的一个元素值

name_tuple = ('alice', 'bob') # 正确,tuple变量可以重新复制

5. 类

类变量可以直接通过 类名.类变量 访问,

可以在程序中永久性改变类变量的值,这种改变会引起该类所有实例访问到的该类变量值改变,需要谨慎使用。


class User:

    age = 18

    def __init__(self, name):

        self.name = name

user1 = User('alice') # user1.age == 18

user2 = User('bob')  # user2.age == 18

User.age = 10        # user1.age == 10, user2.age == 10

内置类属性:
__dict__: 类的属性(包含一个字典,由类的数据属性组成)

__doc__: 类的文档字符串

__name__: 类名

__module__: 类定义所在的模块

__base__: 类的所有父类构成元素(包含一个由父类组成的元组)

基础重载方法:

__init__(self,[,args...]): 构造函数, obj = ClassName(args)

__del__(self): 析构一个对象,del obj

__str__(self): 将值转化为适于人阅读的形式, str(obj)

__repr__(self): 转换为供解释器读取的形式

__cmp__(self, x): 对象比较,cmp(obj, x)

实例方法的第一个参数一般为self,self表示实例本身,但不是类,self.__class__指向类

类方法(@classmethod装饰的方法)第一个参数一般为cls,表示类本身

受保护的实例属性使用单下划线开头,如:_protect_value

私有实例属性使用双下划线开头,如:__private_attrs

私有方法使用双下划线开头,如:__private_method

6. 脚本


# 遍历文件夹

import os

file_dir = '...'

for root, dirs, files in os.walk(file_dir):

    ... # root:文件路径

        # dirs:目录名

        # files:文件名

7. 正则


import re

string = ‘hello world'

regx = r'h\S*'

m = re.match(regx, string) # regx:正则表达式; string:待匹配字符串

s = re.search(regx, string) # match 从头开始匹配, search 在整个字符串中匹配子串

find_list = re.findall(regx, string) # 以列表形式返回所有匹配项

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容