不归路系列:Python入门之旅-一定要注意缩进!!!(推荐)


Posted in Python onApril 16, 2019

因为工作(懒惰),几年了,断断续续学习又半途而废了一个又一个技能。试着开始用博客记录学习过程中的问题和解决方式,以便激励自己和顺便万一帮助了别人呢。

最近面向对象写了个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?!咋个就没有,那不上面大大摆着俩内部方法嘛!

不归路系列:Python入门之旅-一定要注意缩进!!!(推荐)

昨天看着看着突然迸发了个小火星子,想起来缩进不对了,如图:

不归路系列:Python入门之旅-一定要注意缩进!!!(推荐)

把两个方法减一个缩进,就算是出来了,是类的方法,和__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 相关文章推荐
压缩包密码破解示例分享(类似典破解)
Jan 17 Python
忘记ftp密码使用python ftplib库暴力破解密码的方法示例
Jan 22 Python
wxpython中利用线程防止假死的实现方法
Aug 11 Python
python连接远程ftp服务器并列出目录下文件的方法
Apr 01 Python
Python使用BeautifulSoup库解析HTML基本使用教程
Mar 31 Python
在Python的Flask中使用WTForms表单框架的基础教程
Jun 07 Python
详细介绍Python的鸭子类型
Sep 12 Python
Python输出带颜色的字符串实例
Oct 10 Python
python3.x上post发送json数据
Mar 04 Python
python实现串口通信的示例代码
Feb 10 Python
Python txt文件常用读写操作代码实例
Aug 03 Python
浅析Python实现DFA算法
Jun 26 Python
python接口自动化(十六)--参数关联接口后传(详解)
Apr 16 #Python
Python实现连接MySql数据库及增删改查操作详解
Apr 16 #Python
Python3.6实现带有简单界面的有道翻译小程序
Apr 16 #Python
python实现扫描局域网指定网段ip的方法
Apr 16 #Python
python实现扫描ip地址的小程序
Apr 16 #Python
使用Python制作简单的小程序IP查看器功能
Apr 16 #Python
Python使用POP3和SMTP协议收发邮件的示例代码
Apr 16 #Python
You might like
用cookies来跟踪识别用户
2006/10/09 PHP
PHP 常见郁闷问题答解
2006/11/25 PHP
说明的比较细的php 正则学习实例
2008/07/30 PHP
使用php记录用户通过搜索引擎进网站的关键词
2014/02/13 PHP
php获取英文姓名首字母的方法
2015/07/13 PHP
PHP实现超简单的SSL加密解密、验证及签名的方法示例
2017/08/28 PHP
laravel框架模板之公共模板、继承、包含实现方法分析
2019/08/30 PHP
Javascript(AJAX)解析XML的代码(兼容FIREFOX/IE)
2010/07/11 Javascript
Javascript数组与字典用法分析
2014/12/13 Javascript
DOM事件阶段以及事件捕获与事件冒泡先后执行顺序(图文详解)
2015/08/18 Javascript
JS弹出对话框实现方法(三种方式)
2015/12/18 Javascript
JS中取二维数组中最大值的方法汇总
2016/04/17 Javascript
浅谈jquery的map()和each()方法
2016/06/12 Javascript
vue中的event bus非父子组件通信解析
2017/10/27 Javascript
Vue.js实现表格渲染的方法
2018/09/07 Javascript
React优化子组件render的使用
2019/05/12 Javascript
Javascript如何实现扩充基本类型
2020/08/26 Javascript
浅谈Vue开发人员的7个最好的VSCode扩展
2021/01/20 Vue.js
[03:40]2014DOTA2国际邀请赛 B神专访:躲箭真的很难
2014/07/13 DOTA
python实现简单的TCP代理服务器
2014/10/08 Python
使用Python开发windows GUI程序入门实例
2014/10/23 Python
Python爬虫DNS解析缓存方法实例分析
2017/06/02 Python
Python编程之Re模块下的函数介绍
2017/10/28 Python
python实现图书借阅系统
2019/02/20 Python
Python实现图片添加文字
2019/11/26 Python
意大利制造的男鞋和女鞋:SCAROSSO
2018/03/07 全球购物
自1926年以来就为冰岛保持温暖:66°North
2020/11/27 全球购物
大学生个人推荐信范文
2013/11/25 职场文书
酒店前厅员工辞职信
2014/01/08 职场文书
护士岗位求职应聘自荐书范文
2014/02/12 职场文书
活动总结报告格式
2014/05/09 职场文书
公司党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
2015年七年级班主任工作总结
2015/05/21 职场文书
2016年大学生社区服务活动总结
2016/04/06 职场文书
pytorch 一行代码查看网络参数总量的实现
2021/05/12 Python
python实现语音常用度量方法的代码详解
2021/05/25 Python