社区
脚本语言
帖子详情
python 类属性和 __init__
nangongxiaobai
2020-07-22 02:48:34
eg:
class Learning(Object):
name = 'property'
def __init__(self):
target = 'senior'
如上面的例子,在类中定义属性的时候,直接写的name和在init中的 target,有什么区别?麻烦大神解答一下
...全文
538
3
打赏
收藏
python 类属性和 __init__
eg: class Learning(Object): name = 'property' def __init__(self): target = 'senior' 如上面的例子,在类中定义属性的时候,直接写的name和在init中的 target,有什么区别?麻烦大神解答一下
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
uswood
2020-08-26
打赏
举报
回复
name是类的属性,是Learning类独有的变量,而__init__是构造函数,在创建实例的时候里面设置的变量会变成实例独有的变量。 类的属性可以通过继承搜索得到。 假设: A = Learning(3) 那么A.target 就等于3 如果你写A.name ,会得到'property',但这不是直接从A里面得到的,是通过继承搜索从类Learning里面找到的,A本身没有这个属性。 PS:你的__init__函数里面变量名要加self,即 self.target = 'target',可以参考楼上的
bradioho
2020-08-25
打赏
举报
回复
name属性是 类learning的类属性,有且仅有一份,所有该类的下的实例共享这个属性,而且可以 Learning.name这么调用;但是init下的target不能 Learning.target这样调用。只能在下面调用声明这个类的实例后,用实例来访问。(实例都可以访问这两个属性)。 然后你的代码有点错,Object前面小写o;init下 target不能直接写,需要在init声明,然后用self来调用target(在定义的方法内部) 给你我测试的代码,你跑一下就全明白了 class Learning(object): name = 'property' def __init__(self, target): self.target = 'ppp' print(Learning.name) p1 = Learning('ddd') print(p1.name) print(p1.target) p1.target = 'ddd' print(p1.target) p1.name = 'TOM' print(p1.name) print(Learning.name)
zhyj_88
2020-07-22
打赏
举报
回复
name是类对象属性 target是__init__函数的局部变量 self.target是实例对象的属性 个人理解,希望对你有帮助。
Python
搞定sass项目_01_开篇
项目涵盖技术和知识点概览: 1. 注册、登录、手机短信、图片验证码、redis超时 等企业用户认证。 2. git版本控制、local_settings配置管理、virtualenv虚拟环境。 3. ModelForm扩展核心应用 & 自定义widget插件...
Python
中__
init
__的用法和理解
在
Python
中定义
类
经常会用到__
init
__函数(方法),首先需要理解的是,两个下划线开头的函数是声明该
属性
为私有,不能在
类
的外部被使用或访问。而__
init
__函数(方法)支持带参数
类
的初始化,也可为声明该
类
的
属性
...
Python
:
类
属性
和实例
属性
( __
init
__)
Python
:
类
属性
和实例
属性
( _
init
_) 先说说我学这部分时候的疑问吧,我学的时候看到有的
类
有定义实例
属性
(_
init
_),有些没定义实例
属性
(_
init
_)。 第一个疑问 :定义实例
属性
(_
init
_)和不定义实例
属性
(_...
一文搞懂
python
中的__
init
__的意思及使用场景
文章目录__
init
__解释用__
init
__与不用__
init
__对比__
init
__直接输出(不建议这么用)__
init
__普通用法不用__
init
__总结 __
init
__解释 __
init
__是构造方法,谁调用,表示谁(更直观的理解就是
类
的方法中,谁调用,...
【
Python
小知识】__
init
__()详解
__
init
__详解1、__
init
__()是什么?2、如何写 __
init
__()? 1、__
init
__()是什么? 从形式上看,__
init
__()是一个函数。事实上,它是一个特殊的函数——构造函数,学过C或Java的应该都知道构造函数,没学过...
脚本语言
37,720
社区成员
34,239
社区内容
发帖
与我相关
我的任务
脚本语言
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
复制链接
扫一扫
分享
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
试试用AI创作助手写篇文章吧
+ 用AI写文章