__init__:

初始化函数,相当于构造函数。

由于类可以起到模板的作用,因此,可以在创建实例的时候,把一些我们认为必须绑定的属性强制填写进去。通过定义一个特殊的__init__方法,在创建实例的时候,就把name,score等属性绑上去:

class Student(object):

def __init__(self, name, score):

self.name = name

self.score = score

注意到__init__方法的第一个参数永远是self,表示创建的实例本身,因此,在__init__方法内部,就可以把各种属性绑定到self,因为self就指向创建的实例本身。

有了__init__方法,在创建实例的时候,就不能传入空的参数了,必须传入与__init__方法匹配的参数,但self不需要传,Python解释器自己会把实例变量传进去:

>>> bart = Student('Bart Simpson', 59)>>> bart.name'Bart Simpson'>>> bart.score59

和普通的函数相比,在类中定义的函数只有一点不同,就是第一个参数永远是实例变量self,并且,调用时,不用传递该参数。除此之外,类的方法和普通函数没有什么区别,所以,你仍然可以用默认参数、可变参数、关键字参数和命名关键字参数。

要定义一个方法,除了第一个参数是self外,其他和普通函数一样。要调用一个方法,只需要在实例变量上直接调用,除了self不用传递,其他参数正常传入:

class Student(object):

def __init__(self, name, score):

self.name = name

self.score = score    def print_score(self):

print('%s: %s' % (self.name, self.score))

>>> bart.print_score()

Bart Simpson: 59

在Python中,实例的变量名如果以__开头,就变成了一个私有变量(private),只有内部可以访问,外部不能访问,所以,我们把Student类改一改:

class Student(object):

def __init__(self, name, score):

self.__name = name

self.__score = score    def print_score(self):

print('%s: %s' % (self.__name, self.__score))

改完后,对于外部代码来说,没什么变动,但是已经无法从外部访问实例变量.__name和实例变量.__score了:

>>> bart = Student('Bart Simpson', 98)

>>> bart.__name

Traceback (most recent call last):

File "", line 1, in AttributeError: 'Student' object has no attribute '__name'

python创建变量score_关于Python创建类时的self参数和__init__相关推荐

  1. python创建变量score_使用Python 3.5.1中的变量创建文件时的FileNotFoundError

    我正在尝试使用Python中的变量创建一个文件,但它不会拥有它. 以下是创建文件名的代码: a, b = time.strftime("%d/%m/%Y"), time.strft ...

  2. python环境变量配置_21 python环境的配置

    " 你活得久了,就会发现人生充满惊奇 " 本小节概览 Python的安装 多个版本Python环境共存问题 搭建Python虚拟环境 python的安装 step1:官网下载并安装 ...

  3. vscode python环境变量_VScode配置Python开发环境

    概念:VScode,单次运行一个脚本称为一个 task,对应的配置文件为 tasks.json: 整个文件夹或者多个文件夹视为一个工作空间,配置文件为 settings.json,调试环境的配置文件叫 ...

  4. python有效变量名banana,python中变量名

    Python中变量名后面加冒号是什么意思? def func(z,arg2=''): a:z=None print(a) x=func('22','3') #print出来这是Python 3.5中引 ...

  5. python怎么创建变量balance_在Python中将变量从一个函数修改为另一个函数

    以下是有问题的功能: def ATM(): global mode pinNum = input('Please enter your 4 digit secret code: ') userBala ...

  6. python环境变量配置_?Python项目读取配置的正确姿势

    读取配置是大部分python应用都会面临的问题,例如应用运行时需要读取数据库的配置,存储文件需要知道文件路径配置,应用在不同的环境的配置也不尽相同.因此,配置管理是一个必不可少的问题,配置读取的方式一 ...

  7. python保存变量_将python 中的变量保存到本地

    如何将python中的变量保存在本地? 将python 的一些代码保存在本地, 特别是一些需要大量运算的结果,例如 机器学习里面的模型,,放在本地,还是比较好用的.下次就可以直接拿出来使用就好. 其实 ...

  8. python 定义变量_用python解决动态的定义变量名(并给其赋值方法:大数据处理)...

    前言: 今天为大家带来的内容是:用python解决动态的定义变量名(并给其赋值方法:大数据处理)具有很好的参考价值,希望对大家有所帮助.喜欢本文内容的记得点赞转发收藏不迷路哦!!! 最近消费kafka ...

  9. python 查看变量_剖析python运算符is和==的区别

    is和==这两个运算符一直是困扰python的初学者,它们都可以用来判断某个对象是否是某个值,那么到底什么时候用is,什么时候用==去判断某个对象是否是某个值哪?下面勇哥结合实例给大家分享下两者的区别 ...

最新文章

  1. 【 MATLAB 】Rational Transfer Function(有理传递函数)
  2. 惊现试衣间照片流出??
  3. 【JS】逻辑运算符 非! 与 或||(处理对象时注意)
  4. C++ opengl 深度缓冲区
  5. 软件架构 —— 消息范式
  6. 将四个按钮放入一个父控件的好处:方便移动,只需要改变父控件的y值,就可移动四个按钮...
  7. tp读取配置文件机制
  8. 二代测序 下载 NCBI sra 文件
  9. 网易云 计算机,网易云音乐电脑版2.7.4.198336_网易云音乐 - 系统之家
  10. java数字转中文_java阿拉伯数字转中文数字
  11. 《虎胆龙威4》观后感
  12. oracle web创建表空间,oracle 创造表空间常用
  13. 微软 office 服务器 部署,部署 Office Online Server
  14. office2013 vol版本
  15. 我看过的关于职业规划最好最全面的一篇文章(因为在另外一个人博客中他转载的字体太大了颜色太鲜艳不适宜阅读,所以就自己转载了)
  16. Loadrunner11在Win10上使用踩过的坑
  17. 机械革命极光Pro 评测
  18. 程序猿职业规划-分析篇
  19. 食物与体质 营养食谱
  20. TiDB x 微众银行 | 耗时降低 58%,分布式架构助力实现普惠金融

热门文章

  1. 通过批处理文件启动Oracle服务
  2. 信息学奥赛一本通(2034:【例5.1】反序输出)
  3. 小鱼比可爱(洛谷-P1428)
  4. 入侵mysql后入侵linux_在Linux上使用MySQL的心得整理
  5. SVM与感知机的异同点
  6. node.js request get 请求怎么拿到返回的数据_从零开始用nodejs写一个简单的静态服务器
  7. 浅谈OpenCL之Platform API(2)
  8. pytorch1.7教程实验——分类器训练
  9. 为什么要使用 zero_grad()?
  10. MySql-phpMyAdmin