python基础教程:类class

news2024/11/24 12:12:51

嗨喽~大家好呀,这里是魔王呐 ❤ ~!

python更多源码/资料/解答/教程等 点击此处跳转文末名片免费获取

class 定义一个类

class 定义一个类, 后面的类别首字母推荐以 大写 的形式定义,比如Calculator.

冒号不能缺 class可以先定义自己的属性,比如该属性的名称可以写为 name=‘Good Calculator’.

class后面还可以跟def, 定义一个函数. 比如def add(self,x,y): 加法, 输出print(x+y).

其他的函数定义方法一样,注意这里的self 是默认值.

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
>>>
"""

需要特别注意,因为这里的__init__函数为空,因此Calculator()中括号中内容为空,没有任何参数。

python相关资料、源码、教程、解答等福利获取通道: 点击此处

class init函数

python 和matlab对于函数和变量的处理在有些地方很相似。

例如可以在__init__函数运行时直接为类定义一个变量,并且不需要在类中前置声明。

这点作为脚本语言,无疑大大节省了代码量。

__init__可以理解成初始化class的变量,取自英文中initial 最初的意思.可以在运行时,给初始值附值,运行c=Calculator(‘bad calculator’,18,17,16,15),然后调出每个初始值的值。

看如下代码:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:926207505
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
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
>>>
""""

例如,在类类型声明时,name和price变量是声明过得,但是height,width,weight等参数却是在__init__函数时声明的。

如何设置属性的默认值, 直接在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
""""

尾语

最后感谢你观看我的文章呐~本次航班到这里就结束啦 🛬

希望本篇文章有对你带来帮助 🎉,有学习到一点知识~

躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。

最后,宣传一下呀~👇👇👇更多源码、资料、素材、解答、交流皆点击下方名片获取呀👇👇

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1071469.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java 面向对象的三大特性

面向对象编程有三大特征: 封装、继承和多态。 1.封装 1)封装介绍 封装(encapsulation)就是把抽象出的数据[属性]和对数据的操作[方法]封装在一起数据被保护在内部.程序的其它部分只有通过被授权的操作[方法],才能对数据进行操作。 2)封装的理解和好处 隐…

Windows安装Node.js

1、Node.js介绍 ①、Node.js简介 Node.js是一个开源的、跨平台的JavaScript运行环境,它允许开发者使用JavaScript语言来构建高性能的网络应用程序和服务器端应用。Node.js的核心特点包括: 1. 事件驱动: Node.js采用了事件驱动的编程模型,通…

美股游戏股分析:微软收购游戏公司动视暴雪将迎来一个重要里程碑

来源:猛兽财经 作者:猛兽财经 总结: (1)微软(MSFT)收购动视暴雪(ATVI)的交易在做出重大让步后目前已经获得了欧盟和美国的监管批准。 (2)英国英国竞争和市场管理局(CMA)最初对微软收购动视暴雪…

SpringCloud Alibaba - 分布式事务理论(CAP 定理 和 BASE 理论)

目录 一、分布式事务理论 1.1、分布式事务问题 1.2、什么是分布式事务 1.3、解决分布式事务思路 1.3.1、CAP 定理 a)Consistency(一致性) b)Availability(可用性) c)Partition tolerance…

反向生成:根据mybatis生成的Class实体类对象反向生成建表语句

微信公众号:大数据高性能计算 针对数据库不小心被删除的情况,以及需要逆向查看某个开源项目数据库表的情况时,往往需要逆向工程。 在这里我们假设 id 字段为主键。在生成 SQL 建表语句时,我们添加了 PRIMARY KEY (id) 来定义 i…

温控仪工作原理

温控仪的工作原理,是通过温度探头或热电偶反馈的电信号,温控仪将得到的电信号转化成温度值,根据设定的温度值,控制加热器的接通和断开来达到控制温度范围的: 1、温度探头或热电偶受温度变化时,会产生微弱的…

CDN技术与企业网站建设:解决疑问与明智选择

介绍CDN技术与疑问 在数字时代,网站是企业线上存在的门户,因此网站的性能和安全至关重要。为了解决一些与网站建设和性能相关的疑问,让我们首先来了解CDN技术。 什么是CDN技术? CDN,即内容分发网络(Conte…

Langchain-Chatchat项目:1.2-Baichuan2项目整体介绍

由百川智能推出的新一代开源大语言模型,采用2.6万亿Tokens的高质量语料训练,在多个权威的中文、英文和多语言的通用、领域benchmark上取得同尺寸最佳的效果,发布包含有7B、13B的Base和经过PPO训练的Chat版本,并提供了Chat版本的4b…

【重拾C语言】六、批量数据组织(四)线性表—栈和队列

目录 前言 六、批量数据组织——数组 6.1~3 数组基础知识 6.4 线性表——分类与检索 6.5~7 数组初值;字符串、字符数组、字符串数组;类型定义 typedef 6.8 线性表—栈和队列 6.8.1 栈(Stack) 全局变量 isEmpty() isFull…

TCP原理特性详解

文章目录 可靠传输机制1.确认应答2.超时重传2.连接管理1.三次握手2.四次挥手 传输效率1.滑动窗口2.流量控制3.拥塞控制4.延时应答5.捎带应答 面向字节流粘包问题 TCP异常情况 可靠传输机制 可靠性:即发送方知道数据是发送成功了,还是失败了。 1.确认应答…

Github-使用2FA验证:使用python实现TOTP验证,python实现github的2FA验证

github新增了2FA验证了, 1、扫描二维码,获取对应字符串 或点击setup key ,获取字符串 2、使用python来生成校验码 安装: pip install pytop import pyotp key XKDRR4WH3LY2WXPH print(pyotp.TOTP(key).now()) 3、将生成的6个验证码&…

第一章 概述 | 计算机网络(谢希仁 第八版)

文章目录 第一章 概述重要内容计算机网络的一些相关知识互联网概述因特网的标准化工作互联网的组成计算机网络的类别计算机网络的性能指标计算机网络的体系结构——-分层次的体系结构 第一章 概述 重要内容 互联网边缘部分和核心部分的作用,以及分组交换的概念 计…

学习记忆——宫殿篇——记忆宫殿——记忆桩——身体——记忆星座

我们在与人攀谈的时候,可以从以下几个维度入手,如:年龄、星座、爱好、工作等。 两点记忆的技巧以及一点知识延伸 两点记忆技巧: 1、第一次见面时要创建回忆线索 2、脑中回忆交流画面,加深线索 一点知识延伸&#xff1…

NoSQL之Redis 主从复制配置详解及哨兵模式

目录 1 Redis 主从复制 1.1 主从复制的作用 1.2 主从复制流程 2 搭建Redis 主从复制 2.1 安装 Redis 2.2 修改 Redis 配置文件(Master节点操作) 2.3 修改 Redis 配置文件(Slave节点操作) 2.4 验证主从效果 3 Redis 哨兵模…

自动拟人对话机器人在客户服务方面起了什么作用?

在当今数字时代,企业不断寻求创新的方法来提升客户服务体验。随着科技的不断进步和消费者期望的提升,传统的客户服务方式逐渐无法满足现代消费者的需求。因此,许多企业正在积极探索利用新兴技术来改进客户服务,自动拟人对话机器人…

javaScript关于闭包的理解

首先在了解闭包之前,我们要了解一下环境和作用域 1.环境和作用域 日常生活中我们生活的环境由周边建设如公园,小区,超市构成的。这就构成了环境 在计算机当中环境就是一块内存的数据。 环境是有作用范围的,eg:武汉周边的建设一…

YOLOv8 Tensorrt部署详细介绍(小白从0到1,不会你砍我)

下载YOLOv8项目和Tensorrt部署项目 git clone https://github.com/xiaocao-tian/yolov8_tensorrt.git git clone https://github.com/ultralytics/ultralytics.git 下载yolov8s模型 在YOLOv8项目中新建weights文件夹,将yolov8s.pt放入 运行tensorrt项目中gen_wts…

RabbitMQ 介绍与 SpringBootAMQP使用

一、MQ概述 异步通信的优点: 耦合度低吞吐量提升故障隔离流量削峰 异步通信的缺点: 依赖于Broker的可靠性、安全性、吞吐能力架构复杂,业务么有明显的流程线,不方便追踪管理 什么是的MQ MQ(Message Queue&#xf…

选择适合建筑公司的企业网盘平台

随着城市化进程的加速,越来越多的人开始关注乡村生活品质。Z公司以其标准化产品和优质资源整合,为回乡建房人群提供了一种全新的、高品质的整体解决方案。 Z公司深入调研了10W的回乡建房人群需求,组建了设计、工艺、供应链方面的专家团队&…

KUKA机器人通过直接输入法设定负载数据和附加负载数据的具体操作

KUKA机器人通过直接输入法设定负载数据和附加负载数据的具体操作 设置背景色: 工具负载数据 工具负载的定义: 工具负载数据是指所有装在机器人法兰上的负载。它是另外装在机器人上并由机器人一起移动的质量。需要输入的值有质量、重心位置、质量转动惯量以及所属的主惯性轴。…