一、面向对象设计
1、
2、类的定义与使用
私有成员前面是“__”,俩个下划线开头
注意:
_ _new__会在__init__之前调用
-
在实例方法中访问实例成员时需要以self为前缀,但在外部通过对象名调用对象方法时并不需要传递这个参数。
-
如果在外部通过类名调用属于对象的公有方法,需要显式为该方法的self参数传递一个对象名,用来明确指定访问哪个对象的成员。
注意最后一句话:类方法一般以cls作为类方法的第一个参数表示该类自身,在调用类方法时不需要为该参数传递值,静态方法则可以不接收任何参数。
允许动态的自定义类和对象增加或者删除成员
补充:
断言:https://www.runoob.com/w3cnote/c-assert.html
3、封装、继承、多态是面向对象编程的三大要素
补充:
repr() 函数将对象转化为供解释器读取的形式。
语法
以下是 repr() 方法的语法:
- repr(object)
参数
- object – 对象。
返回值
- 返回一个对象的 string 格式。
实例
- 以下展示了使用 repr() 方法的实例:
>>>s = 'RUNOOB'
>>> repr(s)
"'RUNOOB'"
>>> dict = {'runoob': 'runoob.com', 'google': 'google.com'};
>>> repr(dict)
"{'google': 'google.com', 'runoob': 'runoob.com'}"
>>>
str()和repr()都可以将python中的对象转换为字符串
-
两者之间的目标不同: str()主要面向用户,其目的是可读性,返回形式为用户友好性和可读性都较强的字符串类型;
-
repr()面向的是python解释器,或者说开发人员,其目的是准确性,其返回值表示python解释器内部的含义,常作为编程人员debug用途。
repr()的返回值一般可以用eval()函数来还原对象,通常来说有如下等式:
obj = eval(repr(obj))
二、字符串
注意:字符串是不可变的有序序列
- encode() str ---- bytes
- decode() bytes ---- str
ASCII码采用1个字节来对字符进行编码
前面加上r或者R表示所有字符都表示原始的含义,不转义
如果不指定分隔符,则把字符串中的任何空白符号都认为是分隔符
注意不是当成一个整体来对待
正则表达式