python中class 类定义与使用

python中class 类定义与使用python中class类定义与使用在学习python中类这一部分也是非常常用的,类的定义类似于函数却又不同于函数,class定义一个类,后面的类别首字母推荐以大写的形式定义,比如Calculator.class可以先定义自己的属性,比如该属性的名称可以写为name=‘GoodCalculator’.class后面还可以跟def,定义一个函数.比如defadd(self,x,y…

大家好,又见面了,我是你们的朋友全栈君。

python中class 类定义与使用

☞☞☞点击查看更多优秀Python博客☜☜☜


python中class 类定义与使用

python中class 类定义与使用

在学习python中类这一部分也是非常常用的,简单来说,类是一种高级抽象,就是一种高级的数据类型,是对象的蓝图,就是用来定义你要用的对象的属性和行为的,为什么要使用类,你可以和之前没有类的时候进行比较,比如和结构化编程比较,有了类有什么好处,总结就是封装、继承、多态,这些要你自己理解,越高级越抽象,越接近人的思维,越容易理解与使用,慢慢体会

类的定义类似于函数却又不同于函数,class 定义一个类, 后面的类别首字母推荐以大写的形式定义,比如Calculator.
class可以先定义自己的属性,比如该属性的名称可以写为 name=‘Good Calculator’.
class后面还可以跟def, 定义一个函数.比如def add(self,x,y): 加法, 输出print(x+y).
其他的函数定义方法一样,注意这里的self 是默认值.

class的定义

class Calculator:       #首字母要大写,冒号不能缺
    name='Good Calculator'  #该行为class的属性
    price=18
    def add(self,x,y):
        print(self.name)
        result = x + y
        print(result)
    def minus(self,x,y):
        result=x-y
        print(result)
    def times(self,x,y):
        print(x*y)
    def divide(self,x,y):
        print(x/y)
        

上述代码就是一个类的定义方法,其中运行结果为:

"""" >>> cal=Calculator() #注意这里运行class的时候要加"()",否则调用下面函数的时候会出现错误,导致无法调用. >>> cal.name 'Good Calculator' >>> cal.price 18 >>> cal.add(10,20) Good Calculator 30 >>> cal.minus(10,20) -10 >>> cal.times(10,20) 200 >>> cal.divide(10,20) 0.5 >>> """"

注意:定义自变量cal等于Calculator要加括号“()” ,cal=Calculator()否则运行下面函数的时候会出现错误,导致无法调用.

class 类 init 功能(初始)

__init__可以理解成初始化class的变量,取自英文中initial 最初的意思.可以在运行时,给初始值附值,

运行c=Calculator(‘bad calculator’,18,17,16,15),然后调出每个初始值的值。看如下代码。

class Calculator:
    name='good calculator'
    price=18
    def __init__(self,name,price,height,width,weight):   # 注意,这里的下划线是双下划线
        self.name=name
        self.price=price
        self.h=height
        self.wi=width
        self.we=weight

"""" 运行结果: >>> c=Calculator('bad calculator',18,17,16,15) >>> c.name 'bad calculator' >>> c.price 18 >>> c.h 17 >>> c.wi 16 >>> c.we 15 >>> """"

如何设置属性的默认值, 直接在def里输入即可,如下:

def init(self,name,price,height=10,width=14,weight=16):查看运行结果,
三个有默认值的属性,可以直接输出默认值,这些默认值可以在code中更改,
比如c.wi=17再输出c.wi就会把wi属性值更改为17.同理可推其他属性的更改方法。

class Calculator:
    name='good calculator'
    price=18
    def __init__(self,name,price,hight=10,width=14,weight=16): #后面三个属性设置默认值,查看运行
        self.name=name
        self.price=price
        self.h=hight
        self.wi=width
        self.we=weight

 """" >>> c=Calculator('bad calculator',18) >>> c.h 10 >>> c.wi 14 >>> c.we 16 >>> c.we=17 >>> c.we 17 """"

**注意:**def init(self,name,price,height,width,weight): 注意,这里的下划线是双下划线
学习来源:莫烦python
本文章仅做个人学习所用,引用请标明“莫烦python”

**文章导航:**

零基础学Python教程
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/132703.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • how to catch error in make error message

    how to catch error in make error message

    2021年7月10日
    59
  • 光纤百兆口和千兆口_交换机万兆光口能使用千兆模块吗

    光纤百兆口和千兆口_交换机万兆光口能使用千兆模块吗10gb万兆以太网光口向下无法兼容千兆光口。10G以太网的物理层已经改变,10G端口连接千兆端口无法工作。千兆以太网、万兆以太网与高速以太网的区别:1.传统以太网(十兆以太网)采用曼彻特斯编码;2.快速以太网(百兆以太网)采用4B/5B码;3.千兆以太网采用8S/10B;4.万兆以太网IEEE802.3提出的新的MB810编码方式。5.传统以太网物理层标准有10BASE2、10BASE5和10BA…

    2022年8月30日
    4
  • reaver使用相关[通俗易懂]

    reaver使用相关[通俗易懂](非TP-LINK路由推荐–d9–t9参数防止路由僵死reaver-imon0-bMAC-a-S–d9–t9-vv)小结-学习时应因状况调整参数(-c后面都已目标频道为1作为例子)目标信号非常好: reaver -i mon0 -bMAC -a -S -vv -d0 -c1目标信号普通: reaver -i mon0 -bMAC

    2022年5月4日
    109
  • 蒙特卡洛树搜索 MCTS 入门[通俗易懂]

    蒙特卡洛树搜索 MCTS 入门[通俗易懂]引言  你如果是第一次听到蒙特卡洛,可能会认为这是一个人名。那么你就大错特错,蒙特卡洛不是一个人名,而是一个地方,还一个赌场名!!!但是这不是我们的重点。  我们今天的主题就是入门蒙特卡洛树搜索,这个算法我个人觉得非常神奇也非常有意思。因为前几年AlphaGo就是借助蒙塔卡洛树搜索以及基于深度学习的的策略价值网络击败了人类冠军,赢得了胜利。而今天我们的主角就是蒙特卡洛树搜索它究竟是怎么实现的?它的原理?以及会举出一个例子来告诉大家整个算法的工作流程。一、什么是MCTS?  蒙特卡洛树搜索是一

    2022年6月15日
    119
  • 毕业设计去做基于决策树的网页敏感词过滤系统设计「建议收藏」

    毕业设计去做基于决策树的网页敏感词过滤系统设计「建议收藏」找了两个分开的程序,但是老师说不可以这样,要求用户输入网页文件路径,系统自动识别处理出文本信息,文本信息再通过决策树分类,通过得到的类别再去匹配这个类别的敏感词库,把敏感词找出来。。。。现在感觉只能弄好每个功能,再去画GUI把他们当函数调用了,但是我应该分成哪些功能模块呀,没做过系统,真的难受,每个功能模块的语言是不是必须要统一,Java好还是Python好?有大佬指点一下吗?别喷为什么我现在在忙…

    2022年5月1日
    48
  • Tomcat如何打破双亲委派机制实现隔离Web应用的?

    Tomcat通过自定义类加载器WebAppClassLoader打破双亲委托,即重写了JVM的类加载器ClassLoader的findClass方法和loadClass方法,这样做的目的是优先加载Web应用目录下的类。除此之外,你觉得Tomcat的类加载器还需要完成哪些需求呢?或者说在设计上还需要考虑哪些方面?我们知道,Tomcat作为Servlet容器,它负责加载我们的Servlet类,此外它还负责加载Servlet所依赖的JAR包。并且Tomcat本身也是一个Java程序,因此它需要加载自己的类和依赖

    2022年4月7日
    38

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号