python基础语法

json格式数据转换

json.dumps(data)

通过 json.dumps(data) 方法把 python数据 转化为了 json数据

python 复制代码
data= json.dumps(data)

如果有中文可以带上:ensure_ascii=False 参数来确保中文正常转换

json. loads(data)

通过 json.loads(data) 方法把 json数据 转化为了 python列表或字典

python 复制代码
data = json. loads(data)

异常捕获

捕获全部异常

python 复制代码
try:
	xxx
except:
	xxx

捕获指定异常

python 复制代码
try:
	xxx
except (NameErr, ZeroDivisionError) [ as 别名]:
	xxx

模块

模块导入

语法

python 复制代码
from 模块名 import [模块 | 类 | 变量 | 函数 | *] [as 别名]

python包

什么是 Python 包?

一个文件夹,里面可以存放许多Python模块(代码文件),通过包,在逻辑上将一批模块归为一类,方便使用。

__init__.py 文件的作用?

创建包会默认自动创建的文件,通过这个文件来表示一个文件夹是一个Python包,而非普通文件夹。(只有这个文件存在它才是包,否则是普通文件夹)

__all__ 变量 的作用?

控制 import * 能够导入的内容

类和对象

类由哪两部分组成?

  • 类的属性,称之为:成员变量
  • 累的行为,称之为:成员方法

注意:函数是写在类外的,定义在类内部的我们都称之为方法

类的定义

python 复制代码
class 类名称:
	成员变量

	def 成员方法(self, 参数列表):
		成员方法体

创建类对象

python 复制代码
对象 = 类名称()

self 的作用

  • 表示 类对象本身
  • 只有通过 self,成员方法才能访问类的成员变量
  • self 出现在形参列表中,但是不占用参数位置,无需理会

构造方法

构造方法的名称:
__init__

例如:

python 复制代码
def __init__(self, name):
	self.name = name

构造方法的作用

  • 构建类对象的时候会 自动运行
  • 构建类对象的传参会传递给构造方法,借此特性可以给成员变量赋值

注意事项

  • 构造方法不要忘记 self关键字
  • 在方法内使用成员变量需要使用 self

魔术方法(内置方法)

常用的魔术方法:

方法 功能
__init__ 构造方法,可用于创建类对象的时候设置初始化行为
__str__ 用于实现类对象转字符串的行为
__lt__ 用于2个类对象进行小于或大于比较
__le__ 用于2个类对象进行小于等于或大于等于比较
__eq__ 用于2个类对象进行相等比较

封装

私有成员

命名以 __ 开头 的 成员变量成员方法 即为 私有成员

举例:

python 复制代码
class 类名称:
    __name = None
    
    def __get_name(self):
        return self.__name

继承

语法

python 复制代码
class 类名(父类1, 父类2, ..., 父类N):
	类的内容

单继承和多继承

  • 单继承:一个类继承另一个类
  • 多继承:一个雷继承多个类,按照顺序从左向右一次继承

多继承中,如果父类有同名方法或属性,先继承的优先级高于后继承的

pass关键字的作用

pass 是占位语句,用来保证函数(方法)或类定义的完整性,表示无内容,空的意思

复写

定义

对父类的成员属性或成员方法进行重新定义

语法

在子类中重新实现同名成员方法或成员属性即可

子类如何调用父类成员

方法一:调用父类成员

  • 使用成员变量:父类名.成员变量
  • 使用成员方法:父类名.成员方法(self)

方法二:使用 super() 调用父类成员

  • 使用成员变量:super().成员变量
  • 使用成员方法:super().成员方法()

举例

python 复制代码
# 父类
class SuperTest:
    super_name = None

    def get_name(self):
        return self.super_name

# 子类
class ChildTest(SuperTest):
    child_name = None
    def get_name1(self):
        self.child_name = SuperTest.super_name
        SuperTest.get_name(self)

    def get_name2(self):
        self.child_name = super().super_name
        super().get_name()

注意:只可以在子类内部调用父类的同名成员,子类的实体类对象调用默认是调用子类复写的


多态

1.什么是多态?

多态指的是,同一个行为,使用不同的对象获得不同的状态,如,定义函数(方法),通过类型注解声明需要父类对象,实际传入子类对象进行工作,从而获得不同的工作状态

2.什么是抽象类(接口)

包含抽象方法的类,称之为抽象类。抽象方法是指:没有具体实现的方法(pass)称之为抽象方法

3.抽象类的作用

多用于做顶层设计(设计标准),以便子类做具体实现,也是对子类的一种软性约束,要求子类必须复写(实现)父类的一些方法并配合多态使用,获得不同的工作状态。


类型注解

类型注解有什么作用?

  • PyCharm 等开发工具 对代码做类型推断 协助做代码提示
  • 开发者自身做类型的备注

类型注解支持

  • 变量的类型注解
  • 函数(方法)的形参和返回值的类型注解

变量的类型注解语法

  • 语法一:变量: 类型
  • 语法二:在注释中,# type: 类型

举例:

python 复制代码
my_list: list = [1, 2, 3]
my_tuple: tuple = (1, 2, 3)
my_dict: dict = {"a": 1, "b": 2, "c": 3}
my_set: set = {"a", "b", "c"}

my_set_str = "a,b,c"   # type: str

注意事项

类型注解只是提示性的,并非决定性的。数据类型和注解类型无法对应也不会导致错误

方法的类型注解语法

  • 可以在 形参返回值 添加类型注解
  • 格式如下:
python 复制代码
# 返回值类型注解的符号使用 ->
def 函数方法名(形参: 类型, ..., 形参: 类型) -> 返回值类型
	pass

举例

python 复制代码
def my_func(arg1: int, arg2: str) -> str:
    return str(arg1) + arg2

联合注解

什么是 Union 类型

使用 Union 可以 定义联合类型注解

Union 的使用方式

  • 导包:from typing import Union
  • 使用:Union[类型, 类型, ..., 类型]

举例

python 复制代码
from typing import Union

my_list1: list[Union[int, str]] = [1, 2, "a", "b"]
相关推荐
AI_56782 小时前
Python RPA解放Excel生产力
python·excel·rpa
weibkreuz2 小时前
组件三大核心属性-state@6
前端
未寒2 小时前
关于uni app vue2 和vue3 的区别
前端·javascript·vue.js·uni-app
智航GIS2 小时前
3.1 字符串(String)
开发语言·python
小小鸟0082 小时前
大文件上传
前端
托马斯-酷涛2 小时前
圣诞树-圣诞节-HTML文件-光效粒子/支持360旋转
前端·html
Ingsuifon2 小时前
ReAct智能体实现示例
前端·react.js·前端框架
山沐与山2 小时前
【设计模式】Python仓储模式:从入门到实战
python·设计模式
q150803962252 小时前
数据整理无忧:深度评测高效文本合并工具的实用功能
开发语言·前端·javascript