python 面向对象 对象

这篇具有很好参考价值的文章主要介绍了python 面向对象 对象。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

python 面向对象 对象
python 面向对象 对象
python 面向对象 对象

构造函数

python 面向对象 对象
python 面向对象 对象
python 面向对象 对象
python 面向对象 对象

#  创建类
class Student:
	name = None  #  成员属性
	age = None	 #	成员属性
	def say(self):  # 成员方法
    	print(self.name)
    #  构造函数
    def __init__(self,name,age):
    	self.name = name
    	self.age = age

#创建类对象
my_student= Student()
# 对象的属性 赋值
my_student.name = 'ZEN'
my_student.age = 20
#   获取对象的信息
my_student.say()

#  自动执行构造函数__init__,给属性初始化
my_student1 = Stuendt('Ares-Wang',200)

魔术方法

python中类中有内置方法,这些内置方法,成为魔术方法

魔术方法如下[常用]:

  1. init 构造函数 自动执行
  2. str 字符串方法
  3. lt 小于、大于符号比较
  4. le 小于等于、大于等于符号比较
  5. eq ==等于符号

python 面向对象 对象

python 面向对象 对象
python 面向对象 对象
python 面向对象 对象

面向对象的特点

  • 封装
  • 多态
  • 继承

##python中私有属性、私有方法,,跟C# 私有成员访问控制一样的,private
实例对象无法访问,但类内部可以放在这些私有成员的
python 面向对象 对象
python 面向对象 对象

继承
class classA:
	
#  classB类 继承classA类  单继承
class classB(classA):

#  多继承  同名的成员属性、成员方法,按继承的顺序,左边的优先级高
#	pass  占位符,保证语法完整,让语法不报错,表示无内容,空
class 类名(父类1,父类2,父类3,.....父类N)pass

python 面向对象 对象

重写 跟C# override 重写 效果一样{override 重写父类的virtual},但理解比C# 更方便

python 面向对象 对象
python 面向对象 对象

class Father:
    name = "父类"
    def say(self):
        return "我是父类"

class Sub(Father):
    # name = "子类"
    def say(self):
        print(super().say())
        # print(Father.say(self))   通过父类.方法(self)  调用父类方法
        # print(super().name)    如果Sub类的name  不注释掉,注释掉,都调用父类的name 属性  打印  父类
        # print(Father.name)     如果Sub类的name  不注释掉,注释掉,都调用父类的name 属性  打印  父类
        # print(self.name)       如果Sub类的name,不注释 则调用Sub的name  打印 子类
        return "我是子类" 

my_sub = Sub()
print(my_sub.name) # 因Sub类 注释了 name = "子类", 所以此处打印 父类,如果取消注释,则打印 子类
print(my_sub.say())#  调用Sub类的say方法, 因方法通过super().say()  调用父类的say方法,所以打印  我是父类   我是子类

类型注解

python 面向对象 对象

变量的类型注解 加个 : 类型
语法格式: 变量 :类型
基础数据类型的注解
var_1: int = 10 没有注解的 var_1 = 10
var_2: float = 3.1415926 var_2 = 3.1415926
var_3: bool = True
var_4: str = ‘ZEN’
var_5: list = [1,2,3]
var_6: set = {1,2,3}
var_7: dict = {“key”:xx}
var_8: tuple =(1,2,4)
class Person:
pass
per :Person= Person()
python 面向对象 对象
python 面向对象 对象
一般无法直接一眼看出的,才注解
python 面向对象 对象

# 函数和方法的形参类型注解语法
def  函数名(形参名称: 类型, 形参名称: 类型,....)-> 返回值类型:
	pass
def add(x: int ,y: int) -> 返回值类型:
	return x+y
	

Union 类型
python 面向对象 对象
python 面向对象 对象
var_2:list[Union[int,str,list]] =[1,"AA",[3.4]]

多态

python 面向对象 对象
python 面向对象 对象
python 面向对象 对象
python 面向对象 对象

自动导包

python 面向对象 对象文章来源地址https://www.toymoban.com/news/detail-488045.html

到了这里,关于python 面向对象 对象的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • JavaScript系列从入门到精通系列第二十篇:使用工厂方法创建JavaScript对象,JavaScript构造函数详解,JavaScript类概念的介绍

    文章目录 一:使用工厂方法创建对象 1:原始写法 2:工厂方式 3:结果验证  二:构造函数 1:什么是构造函数 2:构造函数和普通函数的区别 3:构造函数的执行流程 三:类 1:什么是类 2:如何检查一个对象是否是个类的实例 3:Object的地位 四:构造函数修改 1:重大问题

    2024年02月08日
    浏览(40)
  • Python笔记2(函数参数、面向对象、装饰器、高级函数、捕获异常、dir)

    Python笔记1(赋值、浅拷贝和深拷贝、字符串日期转换、argparse、sys、overwrite、eval、json.dumps/json.loads、os.system(cmd)、zfill、endswith、open) 参数定义 在python中定义函数的时候,函数名后面的括号里就是用来定义参数的,如果有多个参数的话,那么参数之间直接用逗号, 隔开。 定义

    2024年02月08日
    浏览(50)
  • 【JAVA杂货铺】一文带你走进面向对象编程的构造方法 | Java| 面向对象编程 | (中)

    🌈个人主页:  Aileen_0v0 🔥系列专栏: Java学习系列专栏 💫个人格言: \\\"没有罗马,那就自己创造罗马~\\\"   目录 回顾  构造方法  this 面试题 构造方法的类型  下节预告 代码块  之前我们学习了什么是类  什么是对象  什么是面向对象编程 定义类   构造方法 :它的方法名

    2024年02月05日
    浏览(50)
  • 构造函数与class实现类的区别

    首先聊聊ES6 class定义的类和用构造函数new出来的类的一些不同之处 class声明提升 class声明内部会启用严格模式 class的所有方法都是不可枚举的 class的所有方法都没有原型对象prototype class定义的类不能被当做函数调用

    2024年01月18日
    浏览(41)
  • 10天玩转Python第6天:python 函数和面向对象基础 全面详解与代码示例

    不定长参数补充-函数调用时的拆包 匿名函数 语法 代码 练习 匿名函数作为函数的参数 - 列表中的字典排序 字符串比大小 基本的介绍 面向过程 关注的是 具体步骤的实现, 所有的功能都自己书写 亲力亲为 定义一个个函数, 最终按照顺序调用函数 面向对象 关注的是结果, 谁

    2024年02月04日
    浏览(59)
  • 【ES6】中构造函数的语法糖 —— Class(类)

            在现代前端开发中,JavaScript的面向对象编程成为了主流。ES6引入了class,使得开发者可以更方便地使用面向对象的方式编写代码,更接近传统语言的写法。ES6的class可以看作是一个语法糖,它的绝大部分功能ES5都可以做到,新的class写法只是让对象原型的写法更

    2024年02月16日
    浏览(32)
  • ES5 构造函数与ES6 Class的区别

    Class 类中不存在变量提升 class内部会启用严格模式 class的所有方法都是不可枚举的 class 必须使用new调用 class 内部无法重写类名 class 的继承有两条继承链 一条是: 子类的__proto__ 指向父类 另一条: 子类prototype属性的__proto__属性指向父类的prototype属性. es6的子类可以通过__pro

    2024年02月06日
    浏览(96)
  • 7-1 jmu-Java-03面向对象基础-01-构造方法与toString

    String name、int age、boolean gender、int id 所有的变量必须为私有(private)。 注意:属性顺序请严格按照上述顺序依次出现。 分析: 定义一个Person的类,并在类中包含 String name 、 int age 、 boolean gender 、 int id ,并且定义为私有属性( private ) 1.编写无参构造函数:   打印\\\"This i

    2024年02月06日
    浏览(33)
  • 【Java基础教程】(七)面向对象篇 · 第一讲:上干货!面向对象的特性、类与对象、内存结构引用分析、垃圾收集器 GC处理、封装性详解、构造方法、匿名对象、简单 Java 类~

    程序是将数据和逻辑封装在一起的代码段。在Java中,方法是常用的代码段封装方式。然而,在Java中,方法必须存在于一个类中才能使用。因此,我们将进入本章的核心内容——面向对象编程。 利用面向对象设计的程序可以实现代码的重用,并方便开发者进行项目维护。面向

    2024年02月13日
    浏览(40)
  • C++ 类和对象(二)构造函数、析构函数、拷贝构造函数

            本文将介绍类的6个默认成员函数中的构造函数、析构函数和拷贝构造函数,赋值重载和取地址重载涉及运算符重载的知识,将在下篇讲解。所谓默认成员函数,也就是每个类都有的成员函数,我们可以显式定义这些函数,否则,编译器会自动生成它们。 目录 前言

    2024年02月09日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包