python的类class定义及其初始化方式
作者:嗨皮lemon 发布时间:2023-08-07 11:52:15
标签:python的类,class定义,初始化
python类class定义及其初始化
定义类,功能,属性
一般类名首字母大写
class Calculator:
#名字和价格是属性
name="jisuanqi"
price=28
#定义的四个函数是功能
def add(self,x,y):
print(self.name)#这里指的是函数的属性-名字
result=x+y
print(result)
def subtract(self,x,y):
print(x-y)
def multiply(self,x,y):
print(x*y)
def divide(self,x,y):
print(x/y)
calc=Calculator()
print(calc.name)#jisuanqi
print(calc.price)#28
print(calc.add(1,2))#3
print(calc.subtract(10,2))#8
输出:
jisuanqi
28
jisuanqi
3
None
8
None
类的初始_init_
class Calculator:
name="jisuanqi" #这是固有属性
price=28
#初始化,里面的参数可以自己定义
def __init__(self,name,price,hight,width,weight):
self.name=name
self.price=price
self.h=hight
self.w=width
self.weight=weight
def add(self,x,y):
print(self.name)
result=x+y
print(result)
def subtract(self,x,y):
print(x-y)
def multiply(self,x,y):
print(x*y)
def divide(self,x,y):
print(x/y)
#这里必须传入参数才可以
calc=Calculator('good calc',280,30,30,100)
print(calc.name)#jisuanqi
print(calc.weight)#100
print(calc.price)#280
输出结果:
good calc
100
280
Python定义类时,class,class()和class(object)的区别
1.使用 Python 时, 遇到 class A 和 class A(object) 的写法,在 Py2 中是有概念上和功能上的区别的, 分别称为经典类(旧式类)old-style(classic-style) 与新式类的区别new-style。
2.历史原因:.2.2以前的时候type和object还不统一. 在2.2统一到3之间, 要用class Foo(object)来申明新式类, 因为它的type是 < type ‘type’ > .不然的话, 生成的类的type就是 < type ‘classobj’ >
3.为什么要继承object类?主要目的是便于统一操作。在python 3.X中已经默认继承object类
所以,继承object类是为了让自己定义的类拥有更多的属性,以便使用。当然如果用不到,不继承object类也可以。
python2中继承object类是为了和python3保持一致,python3中自动继承了object类。
python2中需要写为如下形式才可以继承object类。
def class(object):
python2中写为如下两种形式都是不能继承object类的,也就是说是等价的。
def class:
def class():
来源:https://blog.csdn.net/weixin_40490880/article/details/81710916


猜你喜欢
- 最近一直在做Dnn模块的开发,过程中碰到这么一个问题,需要同时插入N条数据,不想在程序里控制,但是SQL Sever又不支持数组参数.所以只
- 绘制折线图命令形如:# 常用plt.plot(x, y, linewidth = '1', label = "te
- 本文实例为大家分享了python3音乐播放器的关键代码,供大家参考,具体内容如下from tkinter import *from trac
- 前言本项目为IOT实验室人员签到考勤设计,系统实现功能:1.人员人脸识别并完成签到/签退2.考勤时间计算3.保存考勤数据为CSV格式(Exc
- Switch简介Go的switch的基本功能和C、Java类似:switch 语句用于基于不同条件执行不同动作,每一个 case 分支都是唯
- 当Python执行import语句时,它会在一些路径中搜索Python模块和扩展模块。可以通过sys.path查看这些路径,比如:>&
- 地址:https://youzan.github.io/vant/#/zh-CN/intro一.引入Vant组件库1.首先运行 npm in
- 本文为大家分享了JS组件Form表单验证神器BootstrapValidator,供大家参考,具体内容如下1、初级用法来看bootstrap
- 一个项目开发完毕后总有一种想法,就是生成可执行文件,总不能一直用python xxx执行吧。以下操作同时适用于windows和Linux下的
- var YX = { //得到JS内置数据类型的类型,返回值包括[Date,RegExp,Number,String,Array,Boole
- vue+el使用this.$confirm不能阻断代码往下执行在vue+element ui的前端框架中使用el的confirm弹窗,遇到一
- 为了在一幅图像 f 的(x,y)位置寻找边缘的强度和方向,所选择的工具就是梯度,梯度使用向量来表示:该向量指出了图像 f 在位置(x,y)处
- 希腊Web 设计师Christos Chiotis 发表在 CssGlobe 的一篇文章,讲述了黄金分割率在 CSS 中的应用。黄金分割率是
- 1 输出大写字母、小写字母、大小写字母、数字、大小写字母和数字1.1输出小写:找到小写a(97)到z(122)的的ASCII码,然后转义为字
- vue项目无法删除问题今天删除本地的vue项目,一直提示“操作无法完成,因为其中的文件夹或文件已在另一个程序组打开,请关
- 此文章主要向大家讲述的是SQL Server数据库的分布式数据库系统的实际目标,通俗的讲就是研制分布式数据库系统的目的、动机,其中主要包括的
- 一、 for 循环根据变量赋值的次数进行循环for item in ["tom","bob",&qu
- 我们要先配置npm的全局模块的存放路径以及cache的路径,例如我希望将以上两个文件夹放在nodejs的主目录下,便在nodejs下建立”n
- 前端的很多静态资源,比如JS,CSS怎么办呢?这时,我们需要一个公共且高速的静态资源托管平台。这里就推荐百度静态资源公共库,百度静态资源公共
- 在事务的ACID特性中,原子性(A)、一致性(C)、持久性(D)由undo log和redo log实现,隔离性(I)由锁+MVCC实现un