python学习笔记二

方法 def PrintName(self):
pass
在调用的时候并没有传入参数,self实际上相当与C++中的this指针,方法的特别之处在于实例对象作为函数的第一个参数传给了函数。在例子中,调用x.PrintName()相当于Class1.PrintName(x)。

继承: class DerivedClass(BaseClassName):
pass
对于不同模块的类,要实现继承:class DerivedClass(modelname.className):
类创建一个新的实例:变量名 = 类名()

重载:派生类中可能会覆盖掉基类中的方法,用来扩充基类中的方法。
想要直接调用基类中的方法:BaseClassName.methodName(self,argument)

私有成员:Python 对类的私有成员只提供了有限的支持。任何成员的名称如果以两个下划线开始,并且不是以两个下划线结束,则此成员就是私有的;其余成员都是公有的。

每一个对象都具有一下三个属性:1、标识码id(实际就是内存地址) 2、类型 3、内容(也成为值) 对象的标识码id和类型是不可变的。而内容(值)有可变的和不可变的:可变的对象称之为可变对象,不可变的称之为不可变对象。不可变的对象有:数值型(number)、字符型(string)、序列型(tuple),比如对象1是不可变的。而可变对象:如字典、列表
is标识符比较的是标识码id,也就是比较内存地址

*乘号:b = [{'g':1}]*4在这里,乘法相当于连续4个加法,但是跟加法 b = [{'g':1}] + [{'g':1}] + [{'g':1}] + [{'g':1}]不一样的是:乘法中b中的4个[{'g':1}]其实都是一个对象,而后面加法中的对象是4个不同的对象,这个可以通过id的取值看出来。但这也仅仅是对于列表或者字典等可变对象,对于不可变对象,*和连续的加法是一样的,比如b = [1]*4和b=[1] + [1] + [1] + [1]是一样的


python中所有的参数传递都是引用传递,也就是传地址。把函数的调用参数理解为将对象用另外一个名字空间的名字绑定,不过是用了另一个名字,实际上还是对同一个对象进行操作.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值