Python中使用缩进需要注意什么
发表于:2024-11-18 作者:千家信息网编辑
千家信息网最后更新 2024年11月18日,这篇文章主要介绍Python中使用缩进需要注意什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!最近面向对象写了个Python类,到访问限制(私有属性)时竟然报错,代码如下,可
千家信息网最后更新 2024年11月18日Python中使用缩进需要注意什么
这篇文章主要介绍Python中使用缩进需要注意什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
最近面向对象写了个Python类,到访问限制(私有属性)时竟然报错,代码如下,可就是报错!(后面有报错截图)
class Person(object): def run(self): print("run") def eat(self,food): print("eat " + food) def say(self): print("My name is %s,I am %d years old" % (self.name,self.age)) # 构造函数,创建对象时默认的初始化 def __init__(self,name,age,height,weight,money): self.name = name self.age = age self.height = height self.weight = weight self.__money = money #实际上是_Person__money print("哈喽!我是%s,我今年%d岁了。目前存款%f" %(self.name,self.age,self.__money)) # 想要内部属性不被直接外部访问,属性前加__,就变成了私有属性private self.__money = 100 # 私有属性需要定义get、set方法来访问和赋值 def setMoney(self,money): if(money < 0): self.__money = 0 else: self.__money = money def getMoney(self): return self.__money person = Person("小明", 5, 120, 28,93.1) # 属性可直接被访问person.age = 10print(person.age) # 私有属性不可直接被访问或赋值,因为解释器把__money变成了_Person__money(可以用这个访问到私有属性的money,但是强烈建议不要),以下2行会报错# person.money = 10# print(person.__money) # 可以调用内部方法访问和赋值print(person.getMoney())person.setMoney(-10)print(person.getMoney())
Excuse me?!咋个就没有,那不上面大大摆着俩内部方法嘛!
昨天看着看着突然迸发了个小火星子,想起来缩进不对了,如图:
把两个方法减一个缩进,就算是出来了,是类的方法,和__init__并列了,自然就正确了。
class Person(object): def run(self): print("run") def eat(self,food): print("eat " + food) def say(self): print("My name is %s,I am %d years old" % (self.name,self.age)) # 构造函数,创建对象时默认的初始化 def __init__(self,name,age,height,weight,money): self.name = name self.age = age self.height = height self.weight = weight self.__money = money #实际上是_Person__money print("哈喽!我是%s,我今年%d岁了。目前存款%f" %(self.name,self.age,self.__money)) # 想要内部属性不被直接外部访问,属性前加__,就变成了私有属性private self.__money = 100 # 私有属性需要定义get、set方法来访问和赋值 def setMoney(self, money): if (money < 0): self.__money = 0 else: self.__money = money def getMoney(self): return self.__money person = Person("小明", 5, 120, 28,93.1) # 属性可直接被访问person.age = 10print(person.age) # 私有属性不可直接被访问或赋值,因为解释器把__money变成了_Person__money(可以用这个访问到私有属性的money,但是强烈建议不要),以下2行会报错# person.money = 10# print(person.__money) # 可以调用内部方法访问和赋值print(person.getMoney())person.setMoney(-10)print(person.getMoney())
以上是"Python中使用缩进需要注意什么"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
属性
私有
方法
对象
内容
函数
存款
实际
实际上
建议
篇文章
行会
解释器
小明
解释
不对
两个
代码
价值
兴趣
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
企业网络安全信息化存在问题
网络安全靠的是技术还是制度
网络安全年度检查工作总结
广州曼知互联网科技有限公司
戴尔服务器没硬盘能不能开机
邢台星友网络技术
网络安全法 宣传资料
个人网络安全教育手册
信息网络安全杂志关非
大数据网络安全论文题目
数据库评价主要指标
华职计算机网络技术
专插本网络技术可以跨数学专业吗
软件开发的八个过程
计算机网络技术的求职信
软件无法访问图形服务器
软件开发专利题材
网络技术问题排查的最晚期限
贵阳网络技术技术学校哪好
数据库怎么设置变量
伦茨服务器报警sd6
服务器又被我玩崩了
九江网络技术培训机构
服务器内存使用率安全范围
数据库审核流程设计
免费永久个人云服务器
服务器山洞
云霄县网络技术工作室
关于网络安全课程的
如何修改网游服务器指令