【老九】【Python】面向对象深入类的设计

str类:字符串对象是不可变对象,一旦创建了字符串,其内容就是不可变的。

 

比较

         ==:比较的是两个对象的值。

         is:比较的是两个对象的地址。

 

代码块缓存机制

  1. 在执行同一个代码块的初始化对象命令时,会重用已存在的值
  2. 代码块缓存机制适用范围:int、float、str、bool
  3. 代码块:一个模块、一个函数、一个类、一个文件都算是一个代码块
  4. 如果是交互方式,每输入一条命令就是一个代码块

 

number类型

上面的num1和num2的id是一样的

 

字符串

                  规则一:非乘法获得的字符串全部满足代码块的缓存机制

                  规则二:乘法时又分两种情况。乘数为1时与规则一相同,乘数大于1时,仅含有

大小写字母、数字、下划线的字符串,并且总长度小于等于20时,才会满足

代码块缓存机制。

 

 

str类的常用方法

isdigit():判断字符串中是否是纯数字(包含全角数字、⑴、\uoob2)unicode编码

isdecimal():判断字符串中是否是纯数字(全角数字)-建议开发时使用

isnumeric():判断字符串中是否是纯数字(全角数字、汉字数字)

全角:全角是指一个字符占用两个标准字符位置的状态。

Unicode  4E00 – 9FFF区间表示中文

 

 

 

lstrip():去掉左侧空格

rstrip():去掉右侧空格

strip():去掉左右两侧的空格(不能去掉中间的空格)

ljust(width,fillchar):左对齐,width设置宽度,fillchar设置填充字符

rjust(width,fillchar):右对齐,width设置宽度,fillchar设置填充字符

center(width,fillcahr):居中,width设置宽度,fillchar设置填充字符

 

 

运算符重载:为运算符定义方法被称为运算符重载(赋予新的含义)                    

         作用:1、让自定义的实例像内建对象一样进行运算符操作。

                   2、让程序简洁易读,对自定义对象将运算符赋予新的规则。

        

         ==:对应的方法为__eq__()

如果对象在运算符的右侧则需要在类中定义相关的右侧方法才行。

比如加法的右侧方法为__radd__()。

         __str__():默认调用,一般用来返回对象的可读字符串形式(适合于普通用户/使用者

                   阅读的的模式)。在打印、str(对象)时被自动调用。

         __repr__():用来将对象转换成解释器读取的形式,一般用来方便程序员了解这个对象

                   的底层集成关系及内存地址

 

isinstance(data,type):判断data是不是属于type类型。

 

 

列表中的重载

pop():删除最后一个元素

 

矩阵实际上就是封装了二维列表的常见操作。

 

ctypes模块(https://docs.python.org/zh-cn/3/library/ctypes.html

        

 

补充:

         Python3中有6个标准的数据类型

                   number(数字)

                   string(字符串)

                   list(列表)

                   tuple(元组)

                   set(集合)

                   dictionary(字典)

        

         不可变数据:number、string、tuple

         可变数据:list、dictionary、set

 

         number支持int(整型)、float(浮点型)、bool(布尔型)、complex(复数)

 

         isinstance(data,type),用来判断data是否是type类型。(认为子类是一种父类类型)

         type(data),用来判断data的类型。(不会认为子类是一种父类类型)

 

         python中没有数组而是使用列表。列表中的数据可以不是不同类型的。

遇到问题,可加老九君个人QQ:614940318,请备注来自CSDN
老九学堂免费C、C++、Java课程地址: https://study.163.com/courses-search?keyword=老九学堂

徐老师线下全栈就业班开始报名啦~

零基础开讲,8个月,Java全栈学习,终身推荐就业

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值