内容简介:构造函数是一个类里比较特殊的函数,一般即时不写构造函数,类也会默认有一个默认构造函数,比如像下面这样的,__init__ 其实是一个默认构造函数。输出
构造函数是一个类里比较特殊的函数,一般即时不写构造函数,类也会默认有一个默认构造函数,比如像下面这样的,
__init__ 其实是一个默认构造函数。
class Book: bookName='书名' def __init__(self): self.bookName='时间简史' b=Book() print(b.bookName)
输出
时间简史
构造函数在类被实例化时,会第一时间被调用,所以一般会在构造函数中做一些初始化的事情。上面的默认构造函数,是没有传入任何参数的。如果想传入参数,那么像下面这样写。
class Pen: brand='品牌' def __init__(self,value): self.brand=value p=Pen('英雄') print(p.brand)
输出
英雄
但是这里需要注意,Python中构造函数只能有一个,比如像这样是会报错的,
class Bird: name='鸟的名字' food='小虫子' def __init__(self,bname): self.name=bname def __init__(self,bname,bfood): self.name=bname self.food=bfood bird=Bird('燕子') print('%s 吃 %s' %(bird.name,bird.food))
报异常
TypeError: __init__() missing 1 required positional argument: 'bfood'
既然可以传入一个参数,其实多个参数也是可以的。
class Person: name='姓名' age='年龄' nativePlace='籍贯' def __init__(self,pname,page,pnativePlace): self.name=pname self.age=page self.nativePlace=pnativePlace person=Person('关羽',55,'山西运城') print('姓名:%s,年龄:%s,籍贯:%s' %(person.name,person.age,person.nativePlace))
输出
姓名:关羽,年龄:55,籍贯:山西运城
Python中构造函数是 __init__(),可以有0个或者多个参数,但是不允许构函数重载。
工程文件下载: https://download.csdn.net/download/yysyangyangyangshan/10794821
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Java构造函数与普通函数用法详解
- 构造函数、原型、原型链、继承
- Vue源码: 构造函数入口
- Hashmap源码解析-构造函数
- JavaScript 构造函数的继承
- Swift学习之构造函数与析构函数
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
ASP.NET AJAX in Action
Alessandro Gallo、David Barkol、Rama Vavilala / Manning Publications / 2007-9-3 / USD 44.99
Ajax has revolutionized the way users interact with web pages today. Gone are frustrating page refreshes, lost scroll positions and intermittent interaction with a web site. Instead, we have a new gen......一起来看看 《ASP.NET AJAX in Action》 这本书的介绍吧!