首页 > 其他分享 >寒假生活(15)

寒假生活(15)

时间:2024-01-27 23:01:10浏览次数:30  
标签:生活 定义 object 寒假 MyClass 15 my method 属性

今天继续python的学习,这几周把基本的知识点大体看完了,现在开始学习一些实际的,今天主要是面向对象编程。

  1. 类和对象

在Python中,通过定义类(class)来实现面向对象编程。一个类定义了一类对象的属性和方法,而一个具体的对象则是该类的一个实例。

定义一个类时,需要使用关键字class,然后在类名后面加上一个冒号,例如:

pythonCopy Code
class MyClass:
    pass

这里定义了一个空的类MyClass,它没有任何属性和方法。

要创建一个类的实例,只需调用类名并传入需要的参数即可。例如:

my_object = MyClass()

这里创建了一个名为my_object的MyClass对象。

  1. 属性和方法

类中的属性和方法都定义在类的内部。属性是类中的变量,而方法则是类中的函数。

在类中定义属性可以通过在类的内部使用赋值语句进行定义,例如:

class MyClass:
    my_attribute = "hello"

这里定义了一个名为my_attribute的属性,并将其初始化为字符串"hello"。

在类中定义方法可以通过在类的内部使用def语句进行定义,例如:

pythonCopy Code
class MyClass:
    def my_method(self):
        print("hello")

这里定义了一个名为my_method的方法,并输出了字符串"hello"。

需要注意的是,在类的方法中必须包含self参数,它表示类的实例本身。通过self参数,方法可以访问类的属性和其他方法。

  1. 继承

Python支持继承,子类可以从父类中继承属性和方法。要创建一个子类,需要在定义类的时候指定其父类,例如:

class MySubclass(MyClass):
    pass

这里定义了一个名为MySubclass的子类,并从父类MyClass中继承了属性和方法。

子类可以重写父类的属性和方法,从而实现更灵活的代码设计。例如:

class MySubclass(MyClass):
    my_attribute = "world"

    def my_method(self):
        print("world")

这里重写了父类的my_attribute属性,并重写了my_method方法以输出字符串"world"。

  1. 多态

Python也支持多态,不同的对象可以接收和处理相同的消息。这可以通过使用父类引用来指向子类对象来实现。例如:

my_object = MyClass()
my_object.my_method()

my_object = MySubclass()
my_object.my_method()

这里,先创建了一个MyClass对象my_object并调用了其my_method方法,然后将my_object引用指向了MySubclass对象,并再次调用了my_method方法。这样就实现了多态。

标签:生活,定义,object,寒假,MyClass,15,my,method,属性
From: https://www.cnblogs.com/zjsdbk/p/17992321

相关文章

  • 面试经典 150 题 (七)
    从右往左遍历classSolution{publicintmaxProfit(int[]prices){Map<Integer,Integer>priceMap=newHashMap<Integer,Integer>();IntegerleftMaxNum=null;for(inti=prices.length-1;i>=0;i--){......
  • 2024.1.27寒假每日总结18
    算法题:2861.最大合金数-力扣(LeetCode)git学习Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git是LinusTorvalds为了帮助管理Linux内核开发而......
  • 1.2、7寒假每日总结18
    git学习Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git是LinusTorvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。 ......
  • 寒假生活指导19
    packagesrc.main.selenium;importorg.openqa.selenium.By;importorg.openqa.selenium.JavascriptExecutor;importorg.openqa.selenium.WebDriver;importorg.openqa.selenium.WebElement;importorg.openqa.selenium.edge.EdgeDriver;importorg.openqa.selenium.e......
  • 面试经典 150 题 (六)
    classSolution{publicvoidrotate(int[]nums,intk){if(k>nums.length){k=k%nums.length;}reverse(nums,nums.length-k,nums.length-1);reverse(nums,0,nums.length-k-1);reverse(......
  • Python手相识别教程15指纹(斗和簸箕)
    15指纹指纹图案在胎儿发育的前18周内形成,并在人的一生中保持不变。每个人的指纹都是独一无二的,但可分为三种基本模式:环状(斗)、弓状(属于箕)和轮状(属于箕)。这些图案是个性特征的标志。俗语:“一斗穷,二斗富,三斗四斗卖豆腐,五斗六斗开当铺,七斗八斗坐着走,九斗十斗享清福。”实际不太准确!......
  • (数据科学学习手札157)pandas新增case_when方法
    本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes1简介大家好我是费老师,pandas在前不久更新的2.2版本中,针对Series对象新增了case_when()方法,用于实现类似SQL中经典的CASEWHEN语句功能,今天的文章中,我们就来get其具体使用方法~2......
  • SpringBoot启动项目报错:java.lang.UnsatisfiedLinkError: D:\files\software\jdk-1
    目录问题描述解决方法:问题描述在运行向的时候出现报错:java.lang.UnsatisfiedLinkError:D:\files\software\jdk-15.0.1\jdk-17.0.3.1\bin\tcnative-1.dll:Can'tloadIA32-bit.dllonaAMD64-bitplatform atjava.base/jdk.internal.loader.NativeLibraries.load(Native......
  • 面试经典 150 题 (五)
    快排classSolution{publicintmajorityElement(int[]nums){QuickSort(nums,0,nums.length-1);returnnums[nums.length/2];}intpartition(int[]nums,intleft,intright){intl=left;intr=right;......
  • 寒假训练2024/1/26
    2024,1,26今天做石子合并的题比较多贴一个模板 for(intlen=2;len<=n;len++){ for(inti=1,j;(j=i+len-1)<=n;i++){for(intk=i;k<j;k++){if(dp[i][j]>dp[i][k]+dp[k+1][j]+pre[j]-pre[i-1]){......