不归路系列: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入门一定要注意缩进详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • 分享vim python缩进等一些配置

    VIM python下的一些关于缩进的设置: 第一步: 打开终端,在终端上输入vim ~/.vimrc,回车. 第二步: 添加下面的文段: set filetype=python au BufNewFile,BufRead *.py,*.pyw setf python set helplang=cn "中文帮助文档(前提是下了中文包) syntax enable syntax on " 自动语法高亮 set number"显示行号 colorscheme desert&quo

  • Python代码块批量添加Tab缩进的方法

    选择一个合适的编辑器,比如notepad++.VS.eclipse.sublime text等,选中要集体缩进的代码块, 按Tab:集体缩进(向右) 按Shift+Tab:集体回缩(向左) 在Notepad++等编辑器中也有将Tab键转换为指定数目空格的功能. 以上这篇Python代码块批量添加Tab缩进的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • 解析Python的缩进规则的使用

    Python中的缩进(Indentation)决定了代码的作用域范围.这一点和传统的c/c++有很大的不同(传统的c/c++使用花括号{}符,python使用缩进空格). 每行代码中开头的空格数(whitespace)用于计算该行代码的缩进级别(Indentation level),注意一个Tab等于8个空格(Space),缩进级别为0表示无缩进空格. Python中的每一条语句都有一个缩进级别,并且缩进级别会使用栈的数据结构进行存储.在开始读取文件之前,0(表示缩进级别为0,无缩进)会被首先压

  • Python中if elif else及缩进的使用简述

    代码如下所示: scole = input("input your scole:") if scole>90: print("A") elif scole>80: print("B") elif scole>70: print("C") elif scole>60: print("D") elif scole>50: print("E") else : pr

  • python程序快速缩进多行代码方法总结

    该语言中缩进是其精髓,通过缩进可以表示函数.循环等程序结构的范围.有时写完程序后,发现所有程序需要放入函数def中,这时就需要对一整块程序同时进行缩进,还有其他一些情况,也会需要多行整体缩进.下面介绍官方的IDLE编辑器下,如何实现多行整体缩进. 这里介绍的是针对3.0及以上版本,软件自带编辑器,整块缩进的方法.首先通过开始菜单 ,找到IDLE,点击启动软件. 相关推荐:<Python视频教程> 启动软件后,通过file菜单下,打开或新建选项,打开一个已建好的或者新创建一个程序文件,这里新建一

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

    因为工作(懒惰),几年了,断断续续学习又半途而废了一个又一个技能.试着开始用博客记录学习过程中的问题和解决方式,以便激励自己和顺便万一帮助了别人呢. 最近面向对象写了个Python类,到访问限制(私有属性)时竟然报错,好多天百思不得其姐,没啥破绽啊!代码如下,可就是报错!(后面有报错截图) class Person(object): def run(self): print("run") def eat(self,food): print("eat " + food

  • Python GUI布局工具Tkinter入门之旅

    目录 图形用户界面 (GUI) 用于创建GUI的 Python 库 Tkinter 基础 Tkinter Widgets Label Button Entry Combobox Checkbutton Radio Button Scrolled Text Message Box SpinBox Geometry 组织布局 binding 函数 Images 和 Icons 计算器 APP 图形用户界面 (GUI) 图形用户界面 (GUI) 只不过是一个桌面应用程序,可帮助我们与计算机进行交互 像

  • python入门课程第一讲之安装与优缺点介绍

    目录 说在前面 何为Python 如何安装Python呢 Max OS下安装Python3 普通的安装方式 通过Homebrew来安装 Python有哪些优缺点呢? 优点 缺点 Python能干什么 总结 这是Pyhon系列文章的第一篇,本文主要介绍Python的基本概念以及如何安装. 干货满满,建议收藏,需要用到时常看看. 小伙伴们如有问题及需要,欢迎踊跃留言哦~ ~ ~. 说在前面 Python语言对各位读者而言一定不会陌生,哪怕没有使用过Python,也一定听说过它.那一句人生苦短,我用P

  • python入门课程第四讲之内置数据类型有哪些

    目录 前言 变量 数据类型总览 Python是弱类型的语言 各数据类型的详细介绍 整数(int) 整数的不同进制 浮点数/小数(float) 小数的书写形式 复数(complex) 布尔类型(bool) 总结 我命油我不油天,今天依然是学习的一天.本文是[Python入门课程]系列的第四篇,其主要介绍Python的内置数据类型中的数字 干货满满,建议收藏,需要用到时常看看. 小伙伴们如有问题及需要,欢迎踊跃留言哦~ ~ ~. 前言 这篇文章主要介绍Python内置数据类型中的数字(Number)

  • python入门课程第三讲之编码规范知多少

    目录 前言 注释 缩进规则 编码规范 标识符命令规范 标识符遵循的规则 关键字 总结 这是Pyhon系列文章的第三篇,本文主要介绍Python程序的编码规范. 干货满满,建议收藏,需要用到时常看看. 小伙伴们如有问题及需要,欢迎踊跃留言哦~ ~ ~. 前言 上一篇文章我们介绍如何运行Python程序,如何安装PyCharm开发工具以及如何用PyCharm来运行Python程序,这些都只是开发前的准备工作而已,也就是说仅仅是弄好了脚手架.接下来就是开始编码了.不过在编码之前我们还是先需要了解一下P

  • python入门之Tkinter使用的方法详解

    目录 一.前言 1.1.Tkinter是什么 二.准备工作 2.1.Windows演示环境搭建 三.Tkinter创建窗口 3.1.创建出一个窗口 3.2.给窗口取一个标题 3.3.窗口设置 3.3.创建按钮,并且给按钮添加点击事件 3.4.窗口内的组件布局 四.Tkinter基本控件介绍 4.1.封装 4.2.文本显示_Label 4.3.按钮显示_Button 4.4.输入框显示_Entry 4.5.文本输入框显示_Text 4.6.复选按钮_Checkbutton 4.7.单选按钮_Rad

  • Python入门_浅谈for循环、while循环

    Python中有两种循环,分别为:for循环和while循环. 1. for循环 for循环可以用来遍历某一对象(遍历:通俗点说,就是把这个循环中的第一个元素到最后一个元素依次访问一次).for循环的基本结构如下: 具体看这个案例: 设计一个函数,在桌面创建10个文本,用数字从1-10依次给它们命名. def text_create(): path = '/Users/duwangdan/Desktop/' for text_name in range(1,11): # 1-10的范围需要用到r

  • python入门之语句(if语句、while语句、for语句)

    python入门之语句,包括if语句.while语句.for语句,供python初学者参考. //if语句例子 name = 'peirong'; if name == 'peirong': print 'this is peirong'; elif name== 'maojun': print 'this is maojun'; else: print 'others'; //while语句 i = 0; a = range(10); while i < a.__len__(): print

  • python入门基础之用户输入与模块初认识

    一.注释 当前行注释:# 被注释内容 多行注释:""" 被注释内容 """ 二.用户输入 #!/usr/bin/env python #_*_coding:utf-8_*_ #name = raw_input("What is your name?") #only on python 2.x name = input("What is your name?") print("Hello "

  • Python入门_条件控制(详解)

    条件控制其实就是if...else...(如果...条件是成立的,就做...:反之,就做...)的使用,其基本结构是: 具体看下面这个例子: def account_login(): # 定义函数 password = input('请输入密码:') # 输入密码 if password == '12345': # 如果输入密码是12345,则登录成功 print('登录成功') else: print('密码有误,请重新输入') # 否则提示密码有误,请重新输入 account_login()

随机推荐