首页 > 编程语言 >python的class类

python的class类

时间:2023-08-06 23:15:29浏览次数:34  
标签:__ 调用 python 实例 foo my class

一.简介   类(Class):用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例   对象(instance/object):包括两个数据成员(类变量和实例变量)和方法,对象就是方法或者类的具体示例     类变量是所有对象共有,其中一个对象的值改变,其他对象得到的是改变后的效果        实例变量则属于对象私有,每个实例单独拥有的变量,某个对象的值发生改变,不影响其他对象   方法:类中定义的函数     局部变量:定义在方法中的变量,只作用于当前实例的类   类的属性:类中定义的变量和方法都是类的属性   类变量:定义在类中的属性,可使用全大写来命名 二.实例化    实例化:实例化就是创建一个该类的对象,在类对象名称后面加一个括号就调用类的实例化方法,完成实例化。实例化后会自动调用__init__方法   __init__方法的作用是对示例进行初始化,当创建了这个类的实例时就会调用该方法;   这个方法的第一个形式参数必须留给self,其他参数随意;self就是指代摸一个实例自身   该方法不能有返回值只能返回return None   类实例化后,得到一个实例对象,通过instance.class_name()方式进行调用,实例对象就会被绑定到方法上   __init__中所定义的变量,是保存在实例上的,并不是类上,所以称为实例变量,实例变量是每个实例自己的变量,是实例独有的   类变量是类的变量,是所有实例共享的属性和方法  示例1:

class MyClass():
"my class" #'类的帮助信息'类文档字符串,可通过ClassName._doc_查看
print('in my class')
xx="abc" #一个类变量,它的值可在这个类的所有示例之间共享,可在类内和类外通过ClassName.xx访问
def __init__(self,x,y): #self代表类的实例,self在定义类的方法时是必须的,但调用时不必传入相应的参数
    print('in my class init')

    self.x=x

    self.y= y

    print(x+y)

  def foo(self): #foo 类的属性
    print('in foo')
    return "my class re"
调用:print(myabs.xx)  #执行成功,类变量是共用的
   
print(myabs.x) #执行成功,实例变量是实例独有的
   print(MyClass.xx) #执行成功,类变量是共用的
   print(MyClass.x) #执行失败,实例变量不能共享
返回:in my class   #每次调用均会执行
   abc #调用类变量xx
调用:
print(MyClass.foo)
返回:in my class
   <function MyClass.foo at 0x00000140993099D0>
调用:
print(MyClass.__doc__) #输出类的帮助文档
返回:in my class
   my class
调用:
myabs=MyClass(2,3) #调用myclass类
返回:in my class
   in my class init #调用类则需执行init方法
   5
    #输出init的结论
调用:
myabs=MyClass(2,3)
   print(myabs.foo()) #调用具体的方法
返回:
in my class #调用类输出

   in my class init #调用类时,执行init的输出
   5 #调用类时,执行init的输出
   in foo #调用方法foo的输出
my class re #调用方法foo的返回结论
调用:
print(MyClass.foo(myabs))
返回:in my class         #调用类输出
   in my class init #调用类时,执行init的输出
   5 #调用类时,执行init的输出
   in foo #调用方法foo的输出
my class re #调用方法foo的返回结论
示例2:
class MyClass():
"my class" #'类的帮助信息'类文档字符串,可通过ClassName._doc_查看
print('in my class')
xx="abc" #一个类变量,它的值可在这个类的所有示例之间共享,可在类内和类外通过ClassName.xx访问
def __init__(self,x,y): #self代表类的实例,self在定义类的方法时是必须的,但调用时不必传入相应的参数
    self.x=x

    self.y= y

    print(x+y)

  def foo(self,c): #有单独的变量
    print(c)
    return "my class re"
调用:myabs=MyClass(2,3) 
   myabs.foo(99) #执行成功,返回99
   MyClass.foo(99) #执行失败,foo缺少参数
返回:
99
   my class re
三.对象属性
python中的函数、类、类的实例都是对象,每个不同的对象都有不同的属性
类的属性保存在类的__dict__中,类的属性所有实例都可以访问
实例的
属性保存在实例的__dict__中,实例的属性是自己的,类或其他实例都不可以访问

  



标签:__,调用,python,实例,foo,my,class
From: https://www.cnblogs.com/qq771293871/p/17609478.html

相关文章

  • 【Python | 进阶】提高你的Python技能,9个让代码更简洁、更快的秘密技巧, 确定不来看看?
    ......
  • cookiecutter python 项目模版工具
    cookiecutterpython项目模版工具,可以帮助我们快速基于模版生成python项目(当然也支持c项目)有不少python项目都是基于此工具的比如dbtadapter开发就基于此提供了方便的adapter生成dbtadapter参考模版 cookiecutter创建项目模版具体可以参考rongfengliang/mynpm-pac......
  • Python文件读取方法:read()、readline()和readlines()的区别
    在Python中,读取文件是一项常见的任务。Python提供了多种方法来读取文件内容,其中包括read()、readline()和readlines()方法。本文将介绍这些方法的区别和使用场景。read()read()方法用于一次性读取整个文件的内容,并将其作为一个字符串返回。语法如下:file_object.read()优点:读取整个......
  • Python魔法解析:探索变量类型的丰富多彩世界!
    在Python这个魔法般的编程语言中,变量是连接你与计算机世界的神奇桥梁。然而,这些变量并不是单一的,它们有着丰富多彩的类型。无论你是刚刚踏入编程的大门,还是想要深入了解Python的高级特性,本篇博客将带你探索变量的不同类型,为你揭开编程世界的神秘面纱。一窥Python变量类型的多样性在......
  • Python logging模块怎么使用,你会了吗?
    Pythonlogging模块使用在开发和维护Python应用程序时,日志记录是一项非常重要的任务。Python提供了内置的logging模块,它可以帮助我们方便地记录应用程序的运行时信息、错误和调试信息。本文将介绍如何使用Pythonlogging模块进行日志记录。logging模块logging是Python自带的用于记......
  • 软件测试|Python科学计算神器numpy教程(二)
    前言上一篇文章我们介绍了numpy的安装和ndarray的部分知识,本篇文章我们来介绍一下numpy的数组的常用属性以及创建数组相关内容。数组常用属性ndarray.shapeshape属性的返回值一个由数组维度构成的元组,比如2行3列的二维数组可以表示为(2,3),该属性可以用来调整数组维度的......
  • 数据量较大时,python 如何加速 matplotlib 的作图
    数据量较大时,python如何加速matplotlib的作图?GeneratedbyChatGPT当数据量较大时,matplotlib可能会变得缓慢。下面是一些可以加速matplotlib作图的方法:使用blitting:blitting是一种将图形上下文缓存到位图中的技术,可以提高图形更新的速度。使用数据抽样:通过对数据进行抽......
  • python基础入门模块
    一、os模块os模块提供了许多与操作系统相关的函数,可以让我们在Python程序中轻松地处理文件和目录、环境变量等等。下面是os模块中常用的方法:os.getcwd()这个函数用于获取当前工作目录,即当前Python脚本工作的目录路径。os.chdir(path)这个函数用于改变当前工作目录到指定的......
  • Python 中整型对象存储的位置
    在Python整型对象所存储的位置是不同的,有一些是预先分配内存的,它一直存储在内存里面,而其它的,则在使用时开辟出空间.说这句话的理由,可以看看如下代码:123456a = 5b = 5a is b # Truea = 500b = 500a is b # False由上面的代码可知,整型5是一直存在的,......
  • python配置
    python配置pip设置全局清华源pipconfigsetglobal.index-urlhttps://pypi.tuna.tsinghua.edu.cn/simplejupyter安装pipinstalljupyterlabjupyter内核配置pipinstallipykernelpython-mipykernelinstall--user--name=yolov8jupyterkernelspeclistjupyter......