Python全栈自动化系列之Python编程基础(类讲解)

一、类

类可以用来封装一类事物共同的属性和行为

1)特征:即属性:属性就是定义在类里面的变量

  a.类属性:直接定义在类里面的变量(这个类的每个对象都有这个属性,里面的属性值都是一样)

    共有属性:在类外面的通过类和对象都可以访问

    私有属性:只能在类里面访问,类外面不要去访问

        私有属性的定义:

            以单下划线开头:例如,_attr = 10(在类外面可以访问,但不要在类外面使用)

            以双下划线开头:例如,__attr = 100(在类外面不能直接访问)

        拓展:双下划线开头的私有属性,在保存的时候其实对外是换了一个名字(__属性   =====>  _类名__属性)

  b.对象属性(实例属性):这一类事物都可能会有这个属性,属性值有可能不一样(自己独立的属性)

    对象属性的定义:

          方式一:通过对象进行赋值:对象.属性=属性值(在类外面)

          方式一:通过初始化方法__init__进行定义:self.属性 = 属性值(在类里面的__init__方法中 )

                self:代表的是对象本身,那个对象去调用方法,self代表的就是那个对象

2)__init__方法:可以用来初始化对象属性

3)对象,是通过类创建出来的,拥有这个类的所有的行为和特征

    通过类创建对象:

        obj = 类名()

2)行为:方法,即函数,方法就是定义在类里面的函数,方法里面的第一个参数必须是self(这是规范)

注意:

  ①对象可以访问类属性

  ②对象可以访问对象属性

  ③对象可以调用方法

  ④类可以访问类属性

  ⑤类不能访问对象属性

  ⑥类不能调用方法

二、类的定义

1)使用关键字:class

  语法:

    方式一:class  类名:

          # 类的属性和方法

    方式二:class  类名(object)

          # 类的属性和方法

2)类的定义规范:

  1、遵循标识符的命名规范

  2、类名的风格:严格遵循大驼峰命名法(即,每个单词的第一个字母必须大写

三、类的方法和静态方法

  对象方法(实例方法):

    对象方法的第一个参数,是self,self代表是对象本身

    只能通过对象去调用,对象.方法名()

  类方法:应用场景,如果这个方法以类为主体去调用,方法内部不会涉及到对象属性和对象方法的使用,那么该方法就应该定义成类方法

    在定义方法前加一个@classmethod

    类方法的第一个参数,是cls,cls代表的是类本身

    即可以通过对象去调用,也可以通过类去调用(对象.方法名()  或者   类.方法名()  )

  静态方法:应用场景,如果内部不会使用类属性和类方法,也不会使用对象和属性方法的使用,那么该方法就应该定义成静态方法

    静态方法的定义:在定义方法前加一个@staticmethod

    没有必须要定义的固定参数

    既可以通过对象去调用,也可以通过类去调用(对象.方法名()  或者   类.方法名() )

四、继承

继承关系注意点:

      通过继承可以获取父类的方法和属性

      私有的属性是不能继承的(双下划线的私有属性不能继承)

      一个类可以同时继承多个父类。子类都可以继承所有的父类(多继承时,是按顺序继承

五、重写父类方法

1)定义:在子类中定义和父类同名的方法,这个操作叫做重写父类的方法

2)关于方法调用:

    子类可以继承父类的方法,意味着子类可以调用父类的方法(父类不能调用子类的方法)

    如果子类重写了父类方法,那么在调用时,他优先调用自身的方法

3)关于在子类的方法中,如何调用被重写的父类方法(调用父类同名的方法)

  第一种:父类名.方法名(self)

  第二种:super().方法名()   # super可以调用同名的父类方法(一级一级往上找父类同名方法)

六、动态属性的设置

1)内置函数setattr:设置属性

    参数一:类名/对象

    参数二:属性名

    参数三:属性值

2)内置函数getattr:获取属性

    参数一:类名/对象

    参数二:属性名

3)内置函数delattr:删除属性

    参数二:类名/对象

    参数二:属性名

原文地址:https://www.cnblogs.com/bluesea-zl/p/12250043.html

时间: 2024-08-30 12:29:03

Python全栈自动化系列之Python编程基础(类讲解)的相关文章

Python全栈自动化系列之Python编程基础(if条件判断)

一.if语句 1)单个if语句用法: 语法: if 条件: 条件成立执行的代码块 else: 条件不成立执行的代码块 例如: 需求点:用户输入考试成绩,请判断是否及格? num = int(input("请输入成绩:")) if num >= 60: print("考试及格") else: print("考试不及格")运行结果: 2)if-elif语句用法:语法: if 条件1: # 条件1成立执行的代码 elif 条件2: # 条件2成立

Python全栈自动化系列之Python编程基础(基础语法)

一.第一个Python程序: 1)pritnt函数使用,打印"Hello Python" 2)print函数默认是换行,若不想换行,可以使end=""实现 3)print函数可以打印多个你需要打印的内容 二.python中的 关键字 三.变量的命名规范 1)变量名可以由字母.数字.下划线(_)任意组合组成,注意不能以数字开头 2)变量名不能使用Python中的关键字,但可以包含关键字 3)变量名不能包含空格 4)变量名尽量做到见名知意 四.标识符(凡是我们自己起的命

Python全栈自动化系列之Python编程基础(while循环)

一.while循环 1)语法: while 条件: 代码块 改变条件的表达式 需求点:打印100遍hello python # 定义一个变量i用来记数,记录打印了多少遍hello python i = 0 while i<100: i = i + 1 print("这是第{}遍打印:hello python".format(i)) 运行结果: 2)死循环:内部条件一直满足(使用while循环时注意死循环) while True: print("hellp python&

Python全栈自动化系列之Python编程基础(模块和包)

一.模块 1)定义 模块:模块是一个Python文件,以.py结尾,包含了Python对象定义和Python函数包:Python中的包就是一个包含一个__init__.py文件的目录(文件夹) 2)模块的作用 a.模块让你能够有逻辑地组织你的Python代码段 b.把相关功能的代码写到一个模块里面能让你的代码更好用,更易懂 c.模块能定义函数.类和变量,模块里也能包含可执行的代码 注意点: ①在进行模块导入的时候,会将导入的模块从上往下执行一遍 ②模块导入时,同级目录导入,Pycharm有可能识

Python全栈自动化系列之Python编程基础(基本数据类型)

一.数值类型数据 1.整数(int):整数 2.浮点数(float):小数 3.布尔值(bool):只有两个值True和False 二.数据类型转换 1.整数和浮点数转换成字符串:使用str 2.字符串和浮点数转换成整数:使用int 3.整数和字符串转换成浮点数:使用float 4.整数.字符串以及浮点数转换成布尔类型:使用bool,转换成功后展示“True” 注意点:使用字符串去转换int以及float时,字符串里面不能含有字母 三.常见运算符 1.算术运算符:加+.减-.乘*.除/.取余%.

Python全栈自动化系列之Python编程基础(列表、元组、字典)

一.列表(list1 = [1,2,3,"蓝色海洋",“abcd”]) 1)列表的定义:列表使用[]来表示,列表中的元素可以是任意数据类型,列表中的元素使用逗号隔开 2)列表的基本操作:a.下标取值,例如:print(list1[1])   b.切片:切出来还是列表,例如:print(list1[1:3])   c.len方法:计算列表的长度,例如:len(list1) 3)列表的常用方法: 增加:①append方法:往尾部追加元素,例如:list1.append(66666)   ②

Python全栈自动化系列之Python编程基础(操作文件)

一.打开文件 open函数: 1)常见参数:第一个,要打开文件或者文件的路径:第二个参数,文件打开的模式,第三个参数,encoding,用来指定文件打开的编码格式(注意,使用rb模式时就不要使用了) 2)常见文件打开的模式: ①r:只读模式,读取普通文件 ②rb:只读模式,是以二进制的编码格式去打开文件,可以读取图片.视频等 3)参数一详解: ①当读取同级目录下的文件,可以直接写文件名 ②当读取的不在同一级目录下的文件时,必须要写上文件的绝对路径 注意:使用open这个方法时,读完文件记得使用c

Python全栈自动化系列之Python编程基础(异常捕获)

一.异常捕获关键字介绍 try:监测有可能出现异常的代码 except:捕获异常,对异常进行处理 else:没有发生异常的处理方式 finallay:不管代码有没有异常都执行 语法: try: # try下面放有可能会出现异常的代码excrpt: # except下面放捕获到异常之后处理的代码else: # else下面代码没有发生异常会执行finally: # finally不管代码有没有异常都执行 二.异常捕获时,在except后面可以指定捕获异常的类型 如果要捕获多个异常类型: 方式一:使

Python全栈开发-Day6-面向对象编程

本节内容: 面向过程VS面向对象 面向对象编程介绍 类的语法 构造函数.析构函数 私有方法.私有属性 面向对象的特性:封装.继承.多态 1.面向过程 VS 面向对象 编程范式 编程是程序员用特定的语法+数据结构+算法组成的代码来告诉计算机如何执行任务的过程,一个程序是程序员为了得到一个任务结果而编写的一组指令的集合,实现一个任务的方式有很多种不同的方式,对这些不同的编程方式的特点进行归纳总结得出来的编程方式类别,即为编程范式.不同的编程范式本质上代表对各种类型的任务采取的不同的解决问题的思路,大