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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Linux操作系统基础

    Linux操作系统基础Linux简介Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机Linux介绍Linux出现于1991年,是由芬兰赫尔辛基大学学生LinusTorvalds和后来加入的众多爱好者共同开发完成Linux特点多用户,多任务,丰富的网络功能…

    2022年4月29日
    35
  • 开机提示:DISK BOOT FAILURE,INSERT SYSTEM DISK AND PRESS ENTER无法开机的解决办法「建议收藏」

    开机提示:DISK BOOT FAILURE,INSERT SYSTEM DISK AND PRESS ENTER无法开机的解决办法「建议收藏」现实是悲催的,本人在公司不仅写Java/Android程序,又要管理公司的电脑。有新员工进来把电脑换了个主板,一开机提示DISKBOOTFAILURE,INSERTSYSTEMDISKANDPRESSENTER,明显是:“没有识别到硬盘”,在开机的日志显示:MenmoryRunsatFlexMemoryModeDetectingIDEdrives……

    2022年7月13日
    39
  • python用pandas读取csv文件_使用pandas读取csv文件的指定列方法

    python用pandas读取csv文件_使用pandas读取csv文件的指定列方法根据教程实现了读取 csv 文件前面的几行数据 一下就想到了是不是可以实现前面几列的数据 经过多番尝试总算试出来了一种方法 之所以想实现读取前面的几列是因为我手头的一个 csv 文件恰好有后面几列没有可用数据 但是却一直存在着 原来的数据如下 GreydeMac mini chapter06gre catdata csv1 name 01 coment 01 2 name 02 c

    2025年9月26日
    4
  • .Net Framework 中设置Web Proxy 的方法

    .Net Framework 中设置Web Proxy 的方法正在进行MapAPI到.NetFramework平台移植。涉及到HttpConnection.其中可能用到Webproxy的设置。有两种简单的方法。WebProxyproxy=newWebProxy(“proxyaddress”,port);proxy.Credentials=newNetworkCredential(“username”,”pa

    2022年6月21日
    29
  • java服务器后端框架_现在主流的java后端框架

    java服务器后端框架_现在主流的java后端框架Mars-javaMars是一个声明式API编程框架,可以帮助你很快的建立后端服务接口你可以专注在业务逻辑上,而不需要花太多的时间去写Controller和DAO同时我们依然支持传统ControllerPlayFrameworkplayframework是一个full-stack(全栈的)JavaWeb的应用框架,包括一个简单的无状态MVC模型,具有Hibernate的对象持续,一个基于Gro…

    2022年6月1日
    50
  • 周期性学习率(Cyclical Learning Rate)技术[通俗易懂]

    周期性学习率(Cyclical Learning Rate)技术[通俗易懂]本文介绍神经网络训练中的周期性学习率技术。Introduction学习率(learning_rate,LR)是神经网络训练过程中最重要的超参数之一,它对于快速、高效地训练神经网络至关重要。简单来说,LR决定了我们当前的权重参数朝着降低损失的方向上改变多少。new_weight=exsiting_weight-learning_rate*gradient这看上去很简单。但是…

    2022年5月18日
    36

发表回复

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

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