2020年6月21日
记录学习python的第一天。
1.一个简单的if却抛了一个异常:
“if 500 <= money_old <1000:
^
IndentationError: unexpected indent”
给我吓了一跳,结果原因竟然是代码没有对齐,我:???
2.'{:.2f}'
意思是浮点类型数字保留两位小数
3. NameError: name 'message' is not defined
局部变量被全局调用时,报错提醒
4.类是对象的抽象,对象是类的具象展示
对象有两个特征:静态属性,动态方法
类有三个特点:封装,继承,多态
5.初始化方法init,python中一个类只有一个__init__方法;
可以自定义一些参数值用来初始化新创建的对象。
6.数据成员:
(1)类属性:在类中并且方法体外所有实例之间的共享值
(2)实例属性:在类中,并且方法体内,只作用于当前实例
7.访问类属性和实例属性通过对象名+.而不是类名;编辑不同的对象属性,对象之间互不影响。
8.异常:
AttributeError:'Geese' object has no attribute 'leg'
通过类名直接调用实例属性抛出的异常,注意调用时使用的名称。
9.访问权限限制:
java:权限修饰符(python未提供)
属性或方法名前后添加下划线:
如:_foo,__foo,__foo__
(1).一个下划线的方法名,protected,仅允许类本身和类的子类访问(可以通过实例名调用访问)
(2).两个下划线的方法名,private,类本身可以访问,不能通过类的实例访问(或者,可以通过:类的实例名._类名__xxx)
(3).前后双下划线为系统定义名称(如__init__)
10.直接通过实例调用访问私有类型的属性抛出异常:
print(“直接访问:“, swan.__neck_swan)#通过实例名访问受保护类型的属性
AttributeError:'Swant' object has no attribute '__neck_swan'