面向对象介绍:
面向对象简介
类的定义与使用:
类的定义
对象定义
成员分类1
成员分类2
私有成员定义方式
__aaa#表示私有成员
在外不访问私有成员:对象名.类名.__xxx
#能访问,但是会破坏封装
# 对私有成员访问
'''
私有成员在类的外部不能直接访问,如果成员名以两个下划线开头但是不以两个下划线结束则表示是私有成员,否则就不是私有成员。
Python并没有对私有成员提供严格的访问保护机制,通过一种特殊方式“对象名._类名_xxx”也可以在外部程序中访问私有成员,
但这会破坏类的封装性,不建议这样做.
'''
class A:
def __init__(self, value1=0, value2= 0):#这个是构造函数,在实例化时调用
self.value1 = value1 #创建一个公有的成员变量
self.__value2 = value2 #创建一个私有变量
print("被实例化")
def setValue(self, value1, value2):#设置两个的值
self.value1 = value1
self.__value2 = value2
def show(self):
print(self.value1)
print(self.__value2)
a = A() #创建实例
print(a.value1) #直接访问共有成员
print(a._A__value2) #通过特殊方式访问私有数据成员 对象名._类名_xxx
不同类的介绍
成员方法
成员方法访问控制
self相关
调用时参数传递细节
类方法参数传递和使用方法
class Root:
__total = 0 #属于类的私有成员
def __init__(self, v): # 构造方法
self.__value = v #属于实例的成员变量
Root.__total += 1 #
def show(self):
print('self.value:', self.__value)
print('Root.__total',Root.__total)
@classmethod #修饰器,声明这个方法是类的
def classShowTotal(cls): #cls 表示类自身 可以访问属于类的成员,不可以访问属于对象的成员
print("这儿是方法类方法调用",cls.__total)
@staticmethod #修饰器 声明此方法为静态方法
def staticShowTotal(): #静态方法可以允没有参数,可以访问类的成员,不可以访问属于对象的成员
print("这儿是静态方法调用",Root.__total)
以上是类的定义
x = Root(3)
x.classShowTotal() #通过对象来调用类方法
x.staticShowTotal()#通过对象来调用静态方法
x.show()
rr = Root(5) #其中的__total 是该类类公用的
Root.classShowTotal() #通过类名调用类方法
Root.staticShowTotal() #通过类名调用静态
运行结果图
用类名调用成员函数时注意
定义一个属性:
可读可写可删除
删除后程序报错
以上是类
一下是字符串
字符串属于不可变序列
不可变:定义好之后不可以修改其中的值
相互嵌套
字符串支持的操作
字符串和字节串说明
编码方式介绍
编码注意事项
编码解码
转义字符表
在防止不该转意时转义
字符串格式化
字符串的格式化
常用格式
用%来格式化说明示例:
用format方法来进行格式化显
用f来进行格式化