python-2

面向对象

class 类名:

构造方法 def __init__(self,参数)

访问类属性 self.属性,self.__class__.属性

访问类方法 实例方法:普通,类方法:类名.方法,self 管实例,cls 管类,静态方法 “只管自己”

封装

访问修饰

命名约定,实现访问控制,属性,和方法同理

public:都可以访问,self.name,

protected:类子类(对象,不建议)self._age

private:自己可以访问,self.__secret,(对象._类名+属性 也可以,实际是被重命名:_类名+属性)

类内不需要定义属性,属性可以定义在__init__,和__slots__(__slots__ = ["name","age"] 只允许这两个属性) 方法内

属性控制

@property 将函数伪装成属性,只读

@属性.setter 写

继承

多继承,class 类名(父类1,父类2)优先子类,父类从左到右

不能继承私有属性和函数

super().函数名() 或者父类().函数名()

函数重写,同名即可

多态

没有interface,使用class类中定义方法,然后pass占位符即可

使用:def make_speak(obj): print(obj.speak())

异常

异常处理: try: except (as e 可选): else: (没有异常执行) finally:(无论是否反正异常都会执行)

抛出异常: reise 异常类型("异常描述")

断言: assert: 判断一个表达式 False时触发异常,用于调试 assert x==5, "x必须等于5"(没有话抛出AssertError)

自定义异常: class MyError(Exception): def __init__(self,value)

异常传递: 异常位置最近expect无法处理会一层一层向外传递

with关键字: 简化try except finally,语法:with exception as variable 下面代码块,可以省略finally中关闭资源代码

常见异常: Exception异常基类,自定义异常继承他,IndexError,KeyError,NameError,TypeError,AttributeException

模块

一个.py文件就是一个模块

命名规范: 模块名称区分大小写,小写字母+下划线,避免标准库重名

全部导入: import 模块名[as 别名] 使用时模块名或别名.方法或属性 不会导入_开头的

局部导入: from 模块名 import 成员名1[as 别名1], 成员名2[as 别名2]... 只导入部分方法或属性,使用时直接用

局部导入 from import *,导入所有不以单下划线开头的成员,直接使用

导入模块顺序: 1:当前目录,2:PYTHONPATH环境变量,3:包含标准python模块以及这些模块依赖的ext module目录

查看模块搜索顺序: import sys print(sys.path)

特殊函数: __all__ = ["public_func",""] 明确指定公开方法可以被导入

类比java 的包,但是包必须包含一个__init__.py的文件

导入包: 通模块类似,多级包用. 包或子包中导入特定模块,包或子包中特定模块导入特定成员

注: from 包 import * 时,不会导入包下所有模块

常用标准库

os

多种操作系统接口。

sys

系统相关的形参和函数。

time

时间的访问和转换。

datetime

提供了用于操作日期和时间的类。

math

数学函数。

random

生成伪随机数。

re

正则表达式匹配操作。

json

JSON 编码器和解码器。

collections

实现了一些专门化的容器,提供了对 Python 的通用内建容器 dict、list、set 和 tuple 的补充。

functools

高阶函数,以及可调用对象上的操作

hashlib

安全哈希与消息摘要。

urllib

URL 处理模块。

smtplib

SMTP 协议客户端,邮件处理。

zlib

与 gzip 兼容的压缩。

gzip

对 gzip 文件的支持。

bz2

对 bzip2 压缩算法的支持。

multiprocessing

基于进程的并行。

threading

基于线程的并行。

copy

浅层及深层拷贝操作。

socket

低层级的网络接口。

shutil

提供了一系列对文件和文件集合的高阶操作,特别是提供了一些支持文件拷贝和删除的函数。

glob

Unix 风格的路径名模式扩展。

更多标准库可参考https://docs.python.org/zh-cn/3/library/index.html。

引入第三方库

使用pip命令

临时使用其他源 pip install -i http://mirrors.aliyun.com/pypi/simple/ 包名

永久修改源 pip config set global.index-url http://mirrors.aliyun.com/pypi/simple/

查看我们已经安装的软件包 pip list

安装 pip install 包 pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

卸载 pip uninstall 包

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务