Python 类 基础 学习

Python新姿势:用魔方方法玩转对象 Python的魔法方法很多,本文只是列举了其中很少的一部分, 欢迎大神评论留言补充! 阅读详情
#1.定义类
#语法
# class 类名():
#     ...
#     ...
# 注意 : 类名要遵守大驼峰命名规则(单词首字母大写)
# 创建对象
# 对象 = 类名()
class People():
    def walk(self):   # self 是指调用该函数的对象,类实例对象本身,类方法中的self参数,有点类似c++类this指针
        print('can walk')
        print(self)

# people = People()
# print(people)
# people.walk()
'''
输出
<__main__.People object at 0x00000277B62D7460>
can walk
<__main__.People object at 0x00000277B62D7460>
'''
#从这里可以看到,实例化对象和 self是同一个地址,所以self 就是实例化对象本身
class Man():
    def hair(myself):
        print('short hair')
        print(myself)

man = Man()
print(man)
man.hair()
'''
输出 
<__main__.Man object at 0x0000018875FD7460>
short hair
<__main__.Man object at 0x0000018875FD7460>
'''
#self可以取任意名字,不一定要用self,但是一般都用self
man1 = Man()
man1.hair()
# 输出
# short hair
# <__main__.Man object at 0x0000013D868D33D0>

#2.添加和获取对象属性
#2.1 类外面添加对象属性
class People():
    def walk(self):
        print('walk')

    #输出对象属性
    def print_info(self):
        print(f'People 的age = {self.age}')
        print(f'People de height = {self.height}')

peopel = People()

peopel.age = 20
peopel.height = 180
#2.2 类里面获取对象的属性
#语法 : self.属性名
peopel.print_info()
#注意,这里一定要先定义对象的属性,不然会报错 AttributeError: 'People' object has no attribute 'age'

#2.3 魔方方法
#在python中, __xx__()的函数叫做魔方方法,指的是具有特殊功能的函数



 

#3 魔方方法
#在python中, __xx__()的函数叫做魔方方法,指的是具有特殊功能的函数
#3.1 __init()__构造器,当一个实例被创建的时候调用的初始化方法 类似C++构造函数

class People():
    def __init__(self, age = 0, height = 56.7, weight = 3.8):
        self.age = age
        self.height = height
        self.weight = weight

    def print_info(self):
        print(f"People's age = {self.age}")
        print(f"People's height = {self.height}")
        print(f"People's weight = {self.weight}")

    def __str__(self):
        return "类的说明,或者对象状态的说明"
        #注意,这里一定要返回str类型,不然报错 TypeError: __str__ returned non-string (type list)
    def __del__(self):
        print('对象销毁')

people = People()
people.print_info()
'''
输出
People's age = 0
People's height = 56.7
People's weight = 3.8
'''
print(people)
#3.2 __str__() 方法
#当使用print输出对象的时候,默认是输出对象的内存地址。
#如果定义了这个方法,那么就会打印这个方法中return 的数据

#3.3 __del__ ()方法 析构器,当一个实例被销毁的时候调用的方法
del people  #输出 对象销毁

print('程序结束')

 

 

 

 

f103vet6 SD卡SDIO+DMA配置避坑指南:从初始化卡死到稳定读写的全流程解析 本文详细解析STM32F103VET6芯片SD卡SDIO与DMA配置中的常见问题,从初始化卡死到读写不稳定的全流程解决方案。重点分析总线宽度配置、时钟分频调整及DMA通道管理技巧,帮助开发者避开常见陷阱,实现稳定高效的数据存储。 阅读详情

相关推荐

2021-03-08 使用SPDK部署NVMe over TCP

NVMe-oF Target入门指南 SPDK NVMe over Fabrics Target是一个用户空间应用程序,通过以太网,Infiniband或光纤通道等结构呈现块设备,SPDK目前支持RDMA和TCP传输。 本文将在已经编译好SPDK的基础上演示如何使用SPDK搭建NVMe over TCP,前提是您已经将一块NVMe硬盘挂载到linux系统中。 如果您想获取有关SPDK更详细的信息,请参考 官方文档。 演示过程的Host主机的ip地址是192.168.0.21,Target主机的ip地址是19

Pancras的博客 2843

class的相关属性/方法以及魔方方法(学习笔记)

self` 参数的名称不是固定的,你可以使用任何其他名称,但 `self` 是一个广泛接受的约定。在这个例子中,当调用 `instance.my_method()` 时,Python会自动将 `instance` 作为第一个参数传递给 `my_method` 方法,即使在调用时你没有显式地传递它。总结来说,`self` 参数是类方法定义中的一个约定,它必须在方法的参数列表中作为第一个参数出现,但在调用方法时,你不需要显式地传递它,因为Python会自动处理。

iamfromhuoxing的博客 343

免费AI视频生成全流程:通义千问+Seedance 2.5+Grok实战指南

AI视频生成正在成为内容创作的重要方式,但高昂的API费用常让个人创作者望而却步。实际上,通过合理组合云端免费工具,也能搭建一条完整的视频生产链路:利用大模型生成脚本,用视频生成模型将文本渲染成画面,再借助多模态模型进行一致性校验。这种“文本+视频+多模态”的协作模式,将复杂的生成任务解耦为可独立调用的模块,既降低了本地硬件要求,也为批量内容验证提供了低成本方案。该流程适用于短视频素材快速产出、产品Demo验证以及AI应用集成等场景,核心在于打通免费账号、API调用与批量任务调度。本文以通义千问、Seeda

weixin_29044157的博客 377

Python报错TypeError: str returned non-string (type NoneType) 已解决

Python报错:TypeError: str returned non-string (type NoneType) 报错 最后一行修改 看来在python3中,在__str__中获取字符串都需要使用return来返回。

weixin_48906504的博客 846

告别regsvr32!易语言调用大漠插件dm.dll的免注册实战(附Win7/10/11避坑指南)

本文详细介绍了易语言如何免注册调用大漠插件dm.dll的实战方法,通过`dmreg.dll`实现真正的免注册调用,规避了传统`regsvr32`注册方式带来的权限和兼容性问题。文章包含核心原理剖析、易语言实现细节、多系统兼容性方案及高级应用场景,帮助开发者实现绿色化部署,提升自动化脚本开发效率。

weixin_42553471的博客 297

基于STM32的宠物智能照护嵌入式系统设计

嵌入式系统是实现物联网终端设备本地化感知、决策与执行的核心技术载体,其关键在于多传感器融合、低功耗执行控制与轻量级云边协同。本文围绕环境监测(温湿度、烟雾、余粮)、机电执行(步进电机食盘、继电器风扇)和可靠通信(MQTT+ESP8266)三大技术主线,深入解析STM32F103在资源约束下的外设调度策略、ADC采样抗干扰设计、DHT11时序精准控制及HX711称重滤波算法等工程实践要点。系统强调本地闭环优先原则,确保离线基础功能可用,同时通过阿里云IoT平台实现远程监控与告警联动,为中小型智能硬件项目提供可

weixin_29155599的博客 293

Python_class,面向对象初步了解(魔方方法的使用)

面向对象。面向对象两个重要概念:类(class)和实例(Instance)。 而‘对象’是面向对象的核心,在一个类class里可以找到多个对象 我们要知道类(class)是一个抽象话的概念,例如学生,老师,男人,女人,超级英雄。 而实例是根据类传教出来的具体对象,(比如说女人有很多,但是你的“对象”只要一个) 每个在同一类的对象都有相同的方法,但是各自数据会有些许不同。(像每个学生高矮胖瘦,肤色年...

Watson_Ashin的博客 834

python爬虫自动下载网页链接

需求分析 今天遇到一个简单的需求,需要下载澳大利亚电力市场NEM日前市场的发电商报价数据(http://nemweb.com.au/Reports/Current/Next_Day_Offer_Energy/),页面观感是这样的: Ctrl + F 一下,看到一共有395个zip链接。于是就想着用python爬虫自动下载。这个网页很简单,没有验证码,甚至不需要登录,因此自动下载的pytho...

da_kao_la的博客 1万+

python重写__str__遇到的错误TypeError: __str__ returned non-string (type tuple)

__str__必须使用return定义有返回值 class House(): def __init__(self, house_type, total_area, fru_list=None): if fru_list is None: fru_list = [] self.house_type=house_type self.total_area=total_area self.free_area=total_area * 0.6 self.fru_list=fru_li

qq_25894535的博客 1867

【现代电路理论】【2】考尔法设计无源单口网络

夏 弥:其实你在冰面上看到鱼浮上来 明年冬天如果你还在那里,那鱼还是会上来换气 那时候你就可以带一把冰镐 把冰面砸开把鱼捞上来熬汤

痛苦的时候装出幸福相,这不是那么难做到的事 2886

本地生成无限量的AI图像和视频——无需网络,无限制,本地人工智能图像和视频生成的实用指南

我们将使用ComfyUI,这是一个功能强大的基于节点的 AI 图像和视频生成可视化界面。如果您是 ComfyUI 的新手,请不要担心。ComfyUI是什么?ComfyUI 是一款可视化工具,可让您在自己的计算机上生成 AI 图像和视频。您无需一次性理解所有内容。在本指南中,我们将从现成的工作流程入手,逐步帮助您建立信心。乍一看,内容似乎很庞杂——但本指南将着重于:-简单的工作流程-预构建示例-最少的配置我想向你展示使用这个工具最简单的工作流程。

iCloudEnd的博客 1801

如何学习Python类

你可以通过查看源代码来了解类的定义。

鸭梨的博客 394

【UE5】RTS游戏的框选功能+行军线效果实现

步骤: 一、项目准备; 二、框选NPC并移动到指定地点; 三、框选效果; 四、行军线效果

ChaoChao66666的博客 2378

关于python类的学习(一)

这里的代码主要是想说明一下关于类的公共属性和类的属性查询的流程,这里的类里面的代码块的name="孙悟空",这个呢就是公共属性,意味着所有实例化这个类的对象都会有,但是,如果你对实例化的对象进行修改属性,那么公共属性就会被你的修改的属性覆盖,这也引出了查询类的属性的流程,程序去搜索你的属性,首先是对实例化的对象搜索,发现没有,才会搜索类中的公共属性。先说一句类里面的值是叫做属性,类里面的函数称作方法,一定要区分开,特别是方法和函数,他们是有不同的,这里我后面会详细谈到。hellow 孙悟空。

weixin_58349723的博客 977

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Python基础学习(类中的访问限制)

Python基础学习(类中的访问限制) 如果需要使类内部的属性不被访问,可以使用__name(双下划线加变量名的方式来命名),这样变量就成为一个私有变量,直接使用 实例名.__name 的方法是无法访问的。 practice:将student对象的gender对外隐藏,用get_gender()和set_gender()代替,并检查参数有效性 class Student(object): ...

虎口脱险的博客 265

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

[Python学习笔记6]——类

-snip--""" 创建一个继承自汽车类的电动车类 """""" 电动车的特点,初始化父类的属性,再初始化电动车特有的属性 """""" 打印一条描述电瓶容量的消息 """在上面这行代码中,添加了新属性,并设置初始值为70。根据类创建的所有实例都将包含这个属性,但所有Car实例都不包含它。除此之外,还添加了一个方法,它打印有关电瓶的信息。

matlabxiao1的博客 1182

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Python小姿势 - Python学习笔记——类与对象

《100天精通Python》专栏,最详细的Python入门到精通教程;理论篇基础知识讲解构建体系框架、实践篇Python黑科技学以致用。https://blog.youkuaiyun.com/weixin_39032019/category_12263598.html

独木不成林,单弦不成音。 5178

Python学习笔记:关于类的学习

Python学习笔记 关于类的学习 ——2020年12月7日 句点表示法是一种实用的方法。访问类中的属性和调用类中的方法都是采用句点表示法来实现的。例: 访问属性:my_dog.name (name是Dog()类的属性) 调用方法:my_dog.roll() (roll()是Dog()类中的一种方法) 关于定义类时怎样定义变量和属性的解释: def init(self, name, age): self.name = name self.age = age 这是一个在定义类时的初始化部分, def

Hao340826的博客 220

python学习9、类

【代码】python学习9、类。

2302_80749943的博客 490

Python类和库快速学习技巧

Python快速学习类和库的核心方法:首先通过dir()了解类的所有属性和方法全貌,再用help()或__doc__深入了解具体某个方法的用法。在Jupyter环境中,可以用?查看文档,用??查看源码。对于实例分析,使用vars()查看变量,type()确认类型,inspect.signature()了解方法参数。建议采用"先全局后局部"的学习策略:先通过dir()获取整体结构,然后针对性地学习常用方法,通过小型示例代码验证理解。

i89211的博客 294

Python 类的学习_1

主要学习内容 面向对象概述 类的定义和使用 属性 继承 面向对象概述 面向对象,Object Oriented,简称 OO 两个核心概念: 对象、类 三个特性:封装、继承、多态 对象

风转砂的博客 637

Python学习篇——类学习

Python入门 类class 基础篇Python入门 类class提高篇 - 知乎Python入门 class类的继承 - 知乎

liuqinhou的博客 598

Python的类全面系统学习

​ 只读属性是指只能获取其值而不能修改其值的属性。通过使用@property装饰器,可以将一个方法定义为只读属性。示例:定义只读属性self._radius = radius # 保护属性@property@property# 创建实例# 访问只读属性print(circle.radius) # 输出: 5print(circle.area) # 输出: 78.5# 尝试修改只读属性会引发错误radius和area属性使用@property装饰器定义为只读属性。

xy_optics的博客 1429

Python学习笔记——新式类

pass

Tony_Wong的专栏 655

python类的基础篇学习

python是一个工具,通过实践的方式更容易来学习,本文不去讲述原理,直接通过实例给大家依次介绍 类的基础部分:公有变量,私有变量,构造函数,类的方法,实例化,继承,super函数 ...

Li7819559的博客 271

python的类难学吗_怎么学习Python的时候更容易快速上手?

很多零基础的朋友在学习Python的时候都会面临各种各样的疑问,怎么入门Python?如何深化学习?怎么在学习Python的时候更容易快速上手?下面小编就给大家介绍一个Python学习的步骤和诀窍,希望这个Python快速入门教程能帮到大家。推荐下小编的python学习群;前面是629中间是440后面是234,不管你是小白还是大牛,小编我都欢迎,不定期分享干货,欢迎初学和进阶中的小伙伴。每天晚上8...

weixin_39599097的博客 175
上一篇: python 文件操作
下一篇: python 经典类和新式类
qiukapi
博客等级 码龄12年 51粉丝 93原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值