惬意上手python —— python中的术语及案例解析

2024-01-31 21:12

本文主要是介绍惬意上手python —— python中的术语及案例解析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

面向对象编程

面向对象编程(Object-Oriented Programming,OOP)是一种编程范式,它将数据和操作数据的方法封装在一起,以对象的形式表示。在Python中,一切皆为对象,因此Python是一种面向对象的语言。

类是面向对象编程的基本概念,它是一种用户自定义的数据类型。类定义了一组属性和方法,用于描述该类的对象。例如:

class Person:def __init__(self, name, age):self.name = nameself.age = agedef say_hello(self):print(f"Hello, my name is {self.name} and I am {self.age} years old.")

上面的代码定义了一个名为Person的类,它有两个属性(name和age)和一个方法(say_hello)。属性是类的数据成员,方法是类的函数成员。

实例

实例是类的具体化,也可以称作对象,它是类的一个具体实现。例如:

person1 = Person("Alice", 25)
person2 = Person("Bob", 30)

上面的代码创建了两个Person类的实例,分别是person1和person2。

初始化方法

初始化方法是类的特殊方法,是类的魔法方法之一,它在创建类的实例时被调用,即无序调用,自动执行。它用于初始化类的属性。例如:

class Person:def __init__(self, name, age):self.name = nameself.age = age

上面的代码定义了一个名为__init__的初始化方法,它有两个参数(name和age),用于初始化Person类的属性。

魔法方法

魔法方法是Python中的特殊方法,它们以双下划线开头和结尾。它们用于实现类的特殊行为。例如:

class Person:def __init__(self, name, age):self.name = nameself.age = age# 用于且只能返回字符串def __str__(self):return f"{self.name} ({self.age})"

上面的代码定义了一个名为__str__的魔法方法,它用于返回Person类的字符串表示。

字符串方法

字符串方法是类的方法之一,它用于返回类的字符串表示。例如:

class Person:def __init__(self, name, age):self.name = nameself.age = agedef __str__(self):return f"{self.name} ({self.age})"

上面的代码定义了一个名为__str__的字符串方法,它用于返回Person类的字符串表示。

self

self是Python中的特殊变量,它用于引用类的实例。例如:

class Person:def __init__(self, name, age):self.name = nameself.age = agedef say_hello(self):print(f"Hello, my name is {self.name} and I am {self.age} years old.")

上面的代码中,self用于引用Person类的实例。
简单说,self就是在创建对象时,对象本身。下面的代码可以直接说明:

class Student:def __init__(self, name, age):print("初始化对象")print("self的id:", id(self))self.name = nameself.age = ages1 = Student("秀", 21)
print("s1的id:", id(s1))s2 = Student("飞", 22)
print("s2的id:", id(s2))

输出结果:
在这里插入图片描述
上面的代码分别打印了self和实例的id,你会发现执行了两次,那是因为每创建一个对象,就会调用一次对应的类。并且self的id和实例的id时一模一样的!

数据、属性、操作、行为

在面向对象编程中,数据是类的属性,操作是类的方法,行为是类的特殊行为。例如:

class Person:def __init__(self, name, age):self.name = nameself.age = agedef say_hello(self):print(f"Hello, my name is {self.name} and I am {self.age} years old.")

上面的代码中,name和age是Person类的数据,say_hello是Person类的操作,__str__是Person类的行为。

父类、基类、超类

父类、基类、超类是面向对象编程中的术语,它们用于描述类之间的关系。父类是一个类,它被其他类继承。子类是一个类,它继承自另一个类。基类和超类是父类的同义词。

子类、派生类

子类、派生类是面向对象编程中的术语,它们用于描述继承关系。子类是一个类,它继承自另一个类。派生类是子类的同义词。
并且子类可以继承父类的属性和方法:

class Animal:def __init__(self, name):self.name = namedef speak(self):print("汪汪")class Dog(Animal):def __init__(self, name, age):Animal.__init__(self, name)self.age = agedef eat(self):print("啃骨头")class DogChild(Dog):def __init__(self, name, age, color):Dog.__init__(self, name, age)self.color = colordog = DogChild("小汪汪", 2, "black")
dog.speak()
dog.eat()

上面的代码DogChild类继承了Dog类,而Dog类继承Animal类,并且你会发现你会发现创建的DogChild的实例可以使用DogChild类中没有声明的speak和eat方法。

多态

多态是面向对象编程中的术语,它用于描述同一操作作用于不同的对象上时,产生不同的结果。在Python中,多态是一种自然而然的现象,因为Python是一种动态类型语言。
简单说就是同一函数可以被不同类型的不同对象调用。

重载多态

重载多态是面向对象编程中的术语,它用于描述同一操作作用于不同类型的参数时,产生不同的结果。在Python中,重载多态是一种自然而然的现象,因为Python是一种动态类型语言。
也就是同一函数有不同的参数。

重写多态

重写多态是面向对象编程中的术语,它用于描述子类重写父类方法的现象。在Python中,重写多态是一种自然而然的现象,因为Python是一种动态类型语言。

实例属性

实例属性是类的属性之一,它是实例的数据成员。例如:

class Person:def __init__(self, name, age):self.name = nameself.age = age

上面的代码中,name和age是Person类的实例属性。

实例方法

实例方法是类的方法之一,它是实例的函数成员。例如:

class Person:def __init__(self, name, age):self.name = nameself.age = agedef say_hello(self):print(f"Hello, my name is {self.name} and I am {self.age} years old.")

上面的代码中,say_hello是Person类的实例方法。

类属性

类属性是类的属性之一,它是类的数据成员。例如:

class Person:count = 0def __init__(self, name, age):self.name = nameself.age = agePerson.count += 1

上面的代码中,count是Person类的类属性。

类方法

类方法是类的方法之一,它是类的函数成员。例如:

class Person:count = 0def __init__(self, name, age):self.name = nameself.age = agePerson.count += 1@classmethoddef get_count(cls):return cls.count

上面的代码中,get_count是Person类的类方法,需要用@修饰,而@classmethod就代表类方法。

静态方法

静态方法是类的方法之一,它是类的函数成员。它与类和实例无关,因此可以在不创建实例的情况下调用。例如:

class Math:@staticmethoddef add(x, y):return x + y

上面的代码中,add是Math类的静态方法。你会发现add函数前面有一个**@staticmethod**,其实就是装饰器的原理。

🆗,文章到此结束,如果觉得对你有帮助,可以给个关注,持续更新中🌹🌹🌹
在这里插入图片描述

这篇关于惬意上手python —— python中的术语及案例解析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/665078

相关文章

网页解析 lxml 库--实战

lxml库使用流程 lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 XPath表达式提供了良好的支 持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。 pip install lxml lxm| 库提供了一个 etree 模块,该模块专门用来解析 HTML/XML 文档,下面来介绍一下 lxml 库

python: 多模块(.py)中全局变量的导入

文章目录 global关键字可变类型和不可变类型数据的内存地址单模块(单个py文件)的全局变量示例总结 多模块(多个py文件)的全局变量from x import x导入全局变量示例 import x导入全局变量示例 总结 global关键字 global 的作用范围是模块(.py)级别: 当你在一个模块(文件)中使用 global 声明变量时,这个变量只在该模块的全局命名空

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

客户案例:安全海外中继助力知名家电企业化解海外通邮困境

1、客户背景 广东格兰仕集团有限公司(以下简称“格兰仕”),成立于1978年,是中国家电行业的领军企业之一。作为全球最大的微波炉生产基地,格兰仕拥有多项国际领先的家电制造技术,连续多年位列中国家电出口前列。格兰仕不仅注重业务的全球拓展,更重视业务流程的高效与顺畅,以确保在国际舞台上的竞争力。 2、需求痛点 随着格兰仕全球化战略的深入实施,其海外业务快速增长,电子邮件成为了关键的沟通工具。