2023.12.31 python总结

2023-12-31 16:54:35

目录

1.python语法

2.基础语句

3.容器

4.函数

5.语法进阶

6.文件操作

7.异常处理

8.模块

9.正则表达式

10.pymysql,pandas

11.闭包装饰器

12. 多进程多线程

13.网络编程

14.面向对象


1.python语法

注释

命名规则:大小驼峰,蛇形

数据类型: int,float,bool,string,list,set,dict,tuple

可变与不可变类型:在不改变内存地址的情况下,能否改变其中的数据,能则是可变,不能则是不可变;

可变:(列表,字典,集合),不可变:(整数,浮点,布尔,字符串,元组)

输入输出: input('请输入') ; print(f'第一个变量{a},第二个变量{b:.3f}');? ?print(%d %s %.3f? %(变量1,变量2))

运算符:大于小于等于

2.基础语句

判断语句: if ,elif , else ,break结束整个循环 ;continue结束本次,继续下次

循环: while循环? ; for 循环

扩展语句: 三元 , 列表推导式

3.容器

列表

元组

字符串

集合

字典

切片: [起始:结束:步长]?

4.函数

参数:形参,实参

返回值

变量作用域:局部变量,全局变量

5.语法进阶

浅拷?(copy):拷??对象,不会拷?对象的内部的?对象。

深拷?(deepcopy): copy 模块的 deepcopy ?法,完全拷?了?对象及其?对象。

lambda表达式:????????????????lambda_sum = lambda a, b: a + b
????????????????????????????????????????ret = lambda_sum(1, 3)
????????????????????????????????????????print(ret)

组包和拆包

filter函数:只能对数据进行过滤操作,返回结果是bool

map函数:输入一个,输出一个。一对一的关系

reduce函数: 输入多个,输出一个。多对一的关系

6.文件操作

with open(文件路径,模式,编码方式)

读文件: read(n),不传入参数就是全部

readline(),一行一行的读取,没内容就返回空字符串

readlines() , 以行的形式,将文件中的行一次性全部读取出来,返回值类型是列表,

列表中的元素是一行一行的内容

7.异常处理

try:

? ? ? ? 可能有异常的代码

except:

? ? ? ? 异常出现以后的处理代码

else:

? ? ? ? 不发生异常的时候才执行

finally:

? ? ? ? 不管有没有发送异常都执行,一般用来释放资源

8.模块

封装代码,提高复用性

模块是py文件

包是含有__init__.py文件的文件夹

9.正则表达式

re.match 从头匹配一个

re.search 全部匹配一个

re.findall? 全部匹配所有

10.pymysql,pandas

1-创建连接

2-通过连接获取游标

3-通过游标执行sql语句

4-关闭游标

5-关闭连接

11.闭包装饰器

闭包3条件:

  • 函数嵌套(外部函数中定义了一个内部函数)

  • 外部函数返回了内部函数

  • 内部函数使用了外部函数的变量(包括外部函数的参数)

12. 多进程多线程

1- 多进程,计算机分配资源的最小单位

2- 多线程,CPU进行任务切换的最小单位

3- 线程不能独立存在,必须存在在进程中。
4- 多进程中,多个子进程和主进程间,不会共享全局变量
5- 多线程中,多个子线程和主线程间,会共享全局变量
6- 将子线程,标记为守护线程。只有设置为守护线程的,才会在主线程运行结束后,跟着结束。否则不受任何影响
7- 多线程中,使用join,可以让主线程等待子线程运行结束

13.网络编程

import socket , requests

14.面向对象

三大特征: 封装 继承 多态

魔法方法:?

????????__init__ :对实例对象的实例属性进行初始化操作

????????__str__ :打印实例对象的信息,在使用print打印对象的时候会被自动的调用,必须返回字符串类型的结果

????????__del__ : 在手动删除对象或者程序运行结束后销毁对象的时候,会被自动调用,用来关闭和释放资源

?????????类名.__mro__: 获取继承关系

类包含两个组成部分:

? ? ? ? 属性(变量)

? ? ? ? 方法(函数)

属性分类:

  • 类属性:公共属性。推荐通过 类名.类属性 访问

  • 实例属性:每个实例单独具备的属性。推荐通过 实例变量名.实例属性

方法分类:

????????实例方法:第一个参数必须是self.

????????类方法: 定义的时候需要加个@ classmethod ,第一个参数必须是cls,推荐调用的方式是类名.类方法

????????静态方法: 定义的时候需要加个@ staticmethod的装饰器, 推荐调用的方式是 类名.静态方法

权限分类:

????????私有:私有属性和方法,命名的时候在前面加__

????????公有:实例属性,类属性,实例方法,类方法

? ? ? ? 实例方法

  • 类方法:实例属性、实例方法、私有实例属性、私有方法不能访问。

  • 静态方法:实例属性、实例方法、私有实例属性、私有方法、类方法不能访问

  • (不推荐)强制访问私有属性/方法:

    • 类的外面:实例名._类名__私有属性/方法

文章来源:https://blog.csdn.net/m0_49956154/article/details/135313084
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。