python类实例方法的形参self并未做类型限定,只会在运行时做类型检查

一文探讨视频秒开:m3u8视频格式与视频秒开优化 秒开指的是,一秒内成功加载的播放数/播放总数。本意是想对比一下m3u8与mp4视频格式,并了解m3u8格式优缺点,以确定一个大概优化方向。但对m3u8做简单了解后,觉的m3u8可能是一个优化方向。 阅读详情

类实例调用类实例方法时默认传入类实例给第一个self形参,self并未限定类型,只在运行时做类型检查

class Myclass(object):
    def info(self):
        print(self, "this is instance func info()")
    def info2(self):
        print(self.a, "this is instance func info2()")


class Myclass2(object):
    def __init__(self, a):
        self.a = a

obj1=Myclass()
obj1.info()       #类实例调用类实例方法时默认将类实例传给self
Myclass.info(obj1)#也可以使用类名并传入类实例来调用类实例方法

strobj='heihei'
Myclass.info(strobj)#并未限定形参self的类型(动态语言),只在运行时会进行类型检查,此例中由于所有对象都能被"打印"所以也没毛病

obj2=Myclass2('haha')
Myclass.info2(obj2)#在运行时会检查self形参的a属性,此例中由于传入对象有属性a所以没毛病

Myclass.info2(strobj)#在运行时检查self形参的a属性,此例中由于传入对象无属性a所以报属性错

python3.8运行输出:

haypin@ubt:~/Files$ python3.8 m07164.py
<__main__.Myclass object at 0x7f78daa65fd0> this is instance func info()
<__main__.Myclass object at 0x7f78daa65fd0> this is instance func info()
heihei this is instance func info()
haha this is instance func info2()
Traceback (most recent call last):
  File "m07164.py", line 22, in <module>
    Myclass.info2(strobj)#在运行时检查self形参的a属性,此例中由于传入对象无属性a所以报属性错
  File "m07164.py", line 5, in info2
    print(self.a, "this is instance func info2()")
AttributeError: 'str' object has no attribute 'a'
haypin@ubt:~/Files$

 

 

用类的实例对象访问类成员的方法称为绑定方法(默认将实例对象传递给实例方法的self形参),而用类名调用类成员的方法称为非绑定方法。

 
【Settings随记:二】一级菜单,二级菜单的添加与隐藏,添加辅助功能 首先会去调用父类的onCreatePreferences(Bundle savedInstanceState, String rootKey)方法,然后调用addPreferencesFromResource(R.xml.assistant_function)方法(这个方法是父类的)加载二级菜单的xml配置文件,实现创建二级菜单,这个配置文件路径在res/xml/assistant_function.xml。controller:该item的控制器,控制它的内容展示,是否可用,也可以控制它的点击事件等。 阅读详情

相关推荐

4.2 结构翻模

结构翻模功能可以将DWG文件中的二维图线对象:轴网、墙、柱、梁、基础、房间和面积等快速转换成Revit模型对象,翻模速度快,准确率高。与先前的模盒翻模功能不同,结构翻模不再需要在AutoCAD中提取模型的图线,所有操作在Revit均可完成。(1)翻模程序适用于钢筋混凝土结构的平法DWG文件。(2)将平法中所表示的轴网线,轴网文字,结构柱,梁,结构墙在Revit 中重新建出来。(3) 模盒可以翻出连...

fishbuaa的专栏 1796

python类中调用类方法时,报错self参数未填。

又碰到了一个小错误 比如一个类如下: class print_number(object): def __init__(self,string="数字是"): self.string=string def print_(self,ss=3): print("{}:{}".format(self.string,ss)) //实例化类 p=print_number p.print_() 这个时候会报错,p.print_的self参数未填。这是

qq_52095705的博客 1万+

计算机组成原理实验logisim(四)之运算器实验

注意,上半张图中所有连入32位宽多路选择器的器件和的“数据位宽”都是32,而中间部分连入1位多路选择器的器件的“数据位宽”皆为1(除了连向“32位加法器”的那一个非门,是32位)。第二到第五个实验的测试,具体怎么测试好吧我也不太清楚,听室友说就是让你分析各种亮灯的原理,比如你点这个,那个为什么颜色要变等等,我就不粘图了,恩大家加油。连图如下,需要在连线之前格外注意“异或门”和“与门”的位宽,将16改为1,不然数据无法通行。关于学术问题,为何这样连什么的,就别问我了,我也没有搞的那么透彻。

qq_54422132的博客 2万+

python 使用class类时 提示 未填形参self

形参 'self' 未填

vip88886666的博客 3745

【线粒体基因组数据提交实战】从注释校验到GenBank批量入库的避坑指南

本文详细介绍了线粒体基因组数据从注释校验到GenBank批量上传的全流程避坑指南。重点解析了GB2sequin工具的正确使用方法、TBL注释文件的精修技巧,以及BankIt平台提交的隐藏要点,帮助科研人员高效完成NCBI数据提交,特别适合需要批量上传线粒体基因组数据的研究者。

weixin_28726671的博客 442

MPU6050的四元数解算姿态方法

使用MPU6050硬件DMP解算姿态是非常简单的,下面介绍由三轴陀螺仪和加速度计的值来使用四元数软件解算姿态的方法。 我们先来看看如何用欧拉角描述一次平面旋转(坐标变换): MPU6050的四元数解算姿态方法 设坐标系绕旋转α角后得到坐标系,在空间中有一个矢量在坐标系中的投影为,在内的投影为由于旋转绕进行,所以Z坐标未变,即有。 转换成矩阵形式表示为: 即 所以从旋转到可以写成上面仅仅是绕一根轴的旋转,如果三维空间中的欧拉角旋转要转三次: MPU6050的四元数解算姿态方法 上面得到了一个表示旋转的方

qq_41938005的博客 8392

python 函数参数self_Python self用法详解

在定义类的过程中,无论是显式创建类的构造方法,还是向类中添加实例方法,都要求将 self 参数作为方法的第一个参数。例如,定义一个 Person 类:class Person:def __init__(self):print("正在执行构造方法")# 定义一个study()实例方法def study(self,name):print(name,"正在学Python")那么,self 到底扮演着什么...

weixin_39598308的博客 979

MOSS-TTS开源语音合成家族:从架构解析到生产部署实战

语音合成(TTS)技术旨在让计算机将文本转换为自然流畅的语音,其核心原理通常涉及文本分析、声学模型和声码器等模块。近年来,基于深度学习的端到端TTS模型,特别是结合残差向量量化(RVQ)和Transformer架构的方案,显著提升了合成语音的自然度和效率。这类技术的价值在于能够广泛应用于有声内容创作、智能助手、无障碍服务以及实时交互等场景。本文聚焦于开源的MOSS-TTS家族,它通过模块化设计,针对高保真合成、多角色对话、实时交互等不同需求提供了专用模型。文章深入解析了其底层的Delay与Local两种架构

weixin_28745565的博客 422

Eclipse函数没有自动填写函数形参解决方法

如图我们写的函数如果选择带参的方法,应该会自动补全如下图 若出现这种问题如下图,没有了参数的形参自动填写 解决方法如下进入eclipse的菜单栏 Window-->Preferences-->java-->Editor-->Content Assist 然后把图中箭头的选项勾选上即可调用函数时自动把形参填写上 ...

qq_36623595的博客 1097

R语言Rstudio突然无法启动且报错:ERROR system error 42 [str: 一, len: 3, from: UTF-8, to: ISO8859-1]...如何解决

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 2847

芯片工程师-必须掌握的linux操作-第一讲

一个从材料专业,转行芯片验证初级工程师,自己也是从0基础开始学习入门,更知道0基础的人应该怎么去学习。 现在工作三个多月了,特地花时间给大家写这篇文章。希望能关注、支持下。 为什么芯片验证工程师必须要学习linux命令? 答: ① 芯片工程师主要的职责,就是与IC设计工程师和系统工程师密切合作,开发验证平台,能够根据项目要求产生测试计划,产生代码及功能覆盖率,撰写验证报告。 ②简单点说,主要工作内容,是编写代码去验证设计的对不对。 那么问题来了,编写代码,在什么环境呢,我现在告诉你,都是在linux系统中进

小白蒋-材料转行芯片验证 4841

小福利,python中子类继承父类的一些注意点

大家好,我是天空之城,今天给大家带来小福利,python中子类继承父类的一些注意点 class Person: def __init__(self): self.name = "jack" class Student(Person): def __init__(self): super(Student, self).__init__() #这一行不可以省略 self.name='tom' self.school = "一中"

littlespider889的博客 727

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Python 基础入门:Java 开发者视角

Python与Java核心概念差异对比 摘要 本文面向有Java经验的开发者,通过对比两种语言的核心概念差异,帮助快速建立Python的正确思维模型。主要内容包括: 环境与工具链:Python使用VS Code开发、pip/poetry管理依赖,强调虚拟环境隔离 核心概念对比: 类型系统:Java是静态强类型,Python是动态强类型 执行方式:Java需要编译,Python直接解释执行 入口点:Java强制main方法,Python通过if __name__ == "__main__":实现可选入口 模块

m0_54123999的博客 262

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

python笔记

my_name='陈志隆'print('luck_number的数据类型是',type(luck_number))# python 可以动态修改变量的数据类型 通过赋不同类型的值,就可以修改luck_number='北京欢迎你'# python中允许多个变量指向同一个值运行后输出如下:D:\Anaconda\envs\run\python.exe D:\Pycharm\Project\Basic\示例3-3变量的定义和使用.pyluck_number的数据类型是 <class 'int'>

weixin_55944609的博客 137

python3 核心笔记

本文主要是针对python3的一些核心要点做一些记录,感兴趣的可以关注和订阅。会持续更新,这个玩意学习一下,可以为数据分析和AI打下一定的基础。

yanghuashuiyue的专栏 617

Python面试知识点小结

一.Python基础   1.Python语言特性:     动态型(运行期确定类型,静态型是编译型确定类型),强类型(不发生隐式转换,弱类型,如PHP,JavaScript就会发生隐患式转换)   2.Python作为后端语言的优缺点:     优点:       胶水语言,轮子多,应用广泛;语言灵活,生产力高     缺点:       性能问题,代码维护问题,python2/3...

weixin_34160277的博客 792

Python对象模型差异剖析:从__slots__到绑定方法的机制详解

Python的类与实例并非简单蓝图,理解对象模型是掌握动态语言核心的必经之路。许多开发者在实战中会遇到同类不同表现的现象:有的实例可随意添加属性,有的却抛出AttributeError;有的实例方法调用正常,有的却提示缺少self参数;甚至两个字段完全相同的对象无法在集合中去重。这些问题的根源往往在于属性查找链路、__dict__与__slots__的内存设计、类属性与实例属性的隔离边界,以及__eq__与__hash__的一致实现。深入剖析这些底层机制,能帮助开发者写出更健壮的代码,尤其在ORM、数据校验

weixin_28331555的博客 340

MCP协议:大模型与工具间标准化调用的工程实践指南

MCP(Model Context Protocol)是一种面向生产环境的大语言模型工具调用通信协议,其核心是通过JSON Schema驱动的双向契约机制,实现模型意图与系统执行之间的语义对齐。它不替代Agent框架,而是作为底层通用接口规范,解决Function Calling中常见的参数失真、错误模糊、跨模型兼容差等工程痛点。凭借极简消息类型、零信任安全设计和严格分层架构,MCP显著提升调试可观测性、接口变更响应速度与多工具协同可靠性,已成为智能体系统在政务、金融等高确定性场景落地的关键基础设施。

weixin_30399155的博客 343

小红书iOS岗秋招笔试复盘:考点分析与算法实战

在互联网大厂技术招聘中,笔试环节不仅考查基础算法,更关注候选人的工程实践能力。以iOS开发岗位为例,一场笔试往往覆盖网络、操作系统、内存管理以及UIKit等核心知识点,同时通过滑动窗口、动态规划、拓扑排序等经典算法题,检验解题思路与边界处理能力。对于小红书这类业务型公司,客户端笔试还会融入贴近真实业务的场景题,如循环引用判断、UIStackView约束异常、系统蓝牙状态区分等,要求开发者具备扎实的iOS底层理解与项目经验。基于2023年秋招第三批笔试的完整复盘,梳理客观题考点、算法题解题过程及在线笔试环境注

weixin_33816946的博客 336

前端第一节(html&css&javascript)

这是内容1这是内容2这是内容3这是一个有序列表这是有序列表1这是有序列表2这是有序列表3这是有序列表4自定义列表内容1

2301_79941274的博客 1418

专业 英语

计算机、数学、机械等专业的专业英语词汇

Edward2022的博客 2946

Python 类self 详解

编写类中的函数时,不写self会报错 没有self可以运行,通过类函数来使用 一个形象的理解self变量 解释 类是一个Python类,每个个体的人代表着实例(对象) 而每个人的身份证代表的Python中self 每个人可以凭借身份证去做核酸、乘火车、住酒店…(方法), -而Python中的 总结 实例对象

weixin_44943389的博客 953

python装饰器

1、装饰器简介 装饰器本质上是一个 Python 函数或类,它可以让其他函数或类在不需要做任何代码修改的前提下增加额外功能,装饰器的返回值也是一个函数/类对象。它经常用于有切面需求的场景,比如:插入日志、性能测试、事务处理、缓存、权限校验等场景,装饰器是解决这类问题的绝佳设计。有了装饰器,我们就可以抽离出大量与函数功能本身无关的雷同代码到装饰器中并继续重用。概括的讲,装饰器的作用就是为已经存在的对...

weixin_41321563的博客 315

python self用法详解

对于在类体中定义的实例方法,Python 会自动绑定方法的第一个参数(通常建议将该参数命名为 self),第一个参数总是指向调用该方法的对象。根据第一个参数出现位置的不同,第一个参数所绑定的对象略有区别: 在构造方法中引用该构造方法正在初始化的对象。 在普通实例方法中引用调用该方法的对象。 由于实例方法(包括构造方法)的第一个 self 参数会自动绑定,因此程序在调用普通实例方法、构造方...

Python零基础入门学习 7679
上一篇: python赋值表达式执行过程的理解,通过运行variable=locals()来理解
下一篇: python相对路径导包|模块
HayPinF
博客等级 码龄9年 175粉丝 140原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值