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 = 10
print(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 = 10
print(person.age)
# 私有属性不可直接被访问或赋值,因为解释器把__money变成了_Person__money(可以用这个访问到私有属性的money,但是强烈建议不要),以下2行会报错
# person.money = 10
# print(person.__money)
# 可以调用内部方法访问和赋值
print(person.getMoney())
person.setMoney(-10)
print(person.getMoney())
总结下:一定要细心!细心!!再细心!!!
注意缩进
注意缩进
注意缩进
以上所述是小编给大家介绍的Python入门一定要注意缩进详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
python什么时候要缩进_不归路系列:Python入门之旅-一定要注意缩进!!!(推荐)...相关推荐
- python代码少的作品_原创 8行python代码展示程序员从入门到大神(或跑路)的全部状态...
一行python代码可以做什么? 人生苦短,我用python.python的世界里无处不在的简洁和短小,往往一行代码可以实现很多有意思功能. 你敢想象你从入门python代码.网络达人.反重力怪才.爱 ...
- python中for循环缩进_跟小白学Python数据分析——For循环
原标题:跟小白学Python数据分析--For循环 循环是指反复地连续做某件事,例如地球绕地轴自转一圈就是一天,自转的同时绕太阳公转一圈就是一年.周而复始,转了一圈又一圈,一次又一次地循环. 在编程过 ...
- python和网络运维_网络工程师的Python之路:网络运维自动化实战
第1章 Python的安装和使用 1 1.1 安装Python 1 1.1.1 在Windows下安装Python 3.8.2 2 1.1.2 在Linux下安装Python 3.8.2 5 1.2 ...
- python第一周小测验_荐测验1: Python基本语法元素 (第1周)
测验1: Python基本语法元素 (第1周) 选择题: 1.Guido van Rossum正式对外发布Python版本的年份是: A.2002 B.2008 C.1991 D.1998 正确答案 ...
- python语言程序设计难不难_零基础学Python编程开发难度大吗?从哪学起?
转行零基础学Python编程开发难度大吗?从哪学起? 近期很多小伙伴问我,如果自己转行学习Python,完全0基础能否学会呢?Python的难度到底有多大? 今天,小编就来为大家详细解读一下这个问题. ...
- python科学计算教程视频_【P14】Python科学计算与图形渲染库视频课程视频教程 it教程...
Python视频教程名称: Python科学计算与图形渲染库视频课程视频教程 Python视频教程 [IT视频教程网-www.itspjc.com] it教程 6 T6 ^9 L+ E4 C, }0 ...
- 趣学python教孩子学编程_《趣学Python——教孩子学编程》学习笔记第1-3章
第1章 Python不是大蟒蛇 1.1 关于计算机语言 计算机程序是一组让计算机执行某种动作的指令.软件就是计算机程序的集合. 一种编程语言就是一种特定的与计算机交谈的方式,这种方式使用计算机和人都能 ...
- python计时器程序设计总框图_【怎么用python编写计时器?这个编程的方法你一定不要错过】- 环球网校...
[摘要]现在学习python的人都在思考,怎么用python编写计时器?这个编程的方法你一定不要错过,环球网校小编建议大家可以试着自己编写功能性代码,毕竟实践出真知,所以你一定要知道怎么用python ...
- python 鱼c工作室作业_#鱼C工作室Python作业#图解python百度云
最好的python视频教程谁有 我这里有python全套高清教学视频,非常适合新手小白,真实分享,望采纳点赞. python 网盘 python视频教程从入门到精通 有提取码:提取码:8ste 求一个 ...
最新文章
- VTK:图片之ImageContinuousDilate3D
- iphone微信美颜插件_iPhone、安卓微信自动更新,又有新功能?
- .NET EFCore之增删改查
- Exp3 免杀原理与实践 20164309
- 如何使用Quartz Scheduler和日志记录创建Web应用程序
- K8s创建pod yaml文件详解
- webpack4.0各个击破(5)—— Module篇
- 图解金山网盾3.6下载保护实现原理
- 设计模式之单例模式8种实现方式,其六:双重检查
- CentOS 6 忘记root密码的修改方法
- oozie JAVA Client 编程提交作业
- SPSS入门教程——合并文件添加变量匹配数据的方法
- mac java 配置环境变量配置_Mac 配置环境变量的方法
- 浏览器书签栏的小图标设置
- 糖友每天早上坚持去做这4件事情控糖事倍功半。
- 4836: [Lydsy1704月赛]二元运算(cdq分治 FFT)
- 每天学命令deleteRow
- Unity通过脚本实现不规则多边形的碰撞检测
- ISO/IEC 25010软件质量评价模型
- 学历学籍系统-Web服务开发实验(REST API)