当前位置: 代码迷 >> 综合 >> 自学python笔记记录——Day14(代码换行,不知名属性值定为空None,身份运算符is和==的区别,私有属性和私有方法及“破解”)
  详细解决方案

自学python笔记记录——Day14(代码换行,不知名属性值定为空None,身份运算符is和==的区别,私有属性和私有方法及“破解”)

热度:46   发布时间:2024-01-29 22:50:53.0

1.Python能够自动的将一对括号内部的代码连接在一起(避免一行代码的长度过长)

例:在这里插入图片描述

2.在Python中定义类中,如果定义属性时不知道设置什么初始值好,可以先设置为None

class soldierdef __init__(self, name):self.name = name# 在不知道士兵是否持枪的情况下可以先定义为空,如果确定需要持枪可以在调用对象时添加上枪类的对象self.gun = None 

住:在pep8中,建议对None的判断使用is来进行

3.身份运算符

··身份运算符是用于比较两个对象的内存地址是否一致——是否是对同一个对象的引用

运算符 描述
is is 是判断两个标识符是不是引用同一个对象
is not is not 是判断两个标识符是不是引用不同对象

is 与 == 的区别

is 用于判断两个变量引用对象是否为同一个(内存地址)

== 用于判断引用变量的值是否相等

4.私有属性和私有方法

·在实际开发中,对象某些属性或方法只希望在对象的内部访问被使用不希望在外部被访问到

··定义方式

在类中定义属性或方法时,在属性名或方法名前增加两个下划线,则定义的就是私有属性或方法

例:

在这里插入图片描述

注:事实上在python中,并没有真正意义上的私有

··在python中的私有属性和私有方法,其实是对名称做了一些特殊处理,使得外界无法访问到

私有属性: __age         处理方法:_类名__age
私有方法: __secret()       处理方法:_类名__secret()