str类:字符串对象是不可变对象,一旦创建了字符串,其内容就是不可变的。
比较
==:比较的是两个对象的值。
is:比较的是两个对象的地址。
代码块缓存机制
- 在执行同一个代码块的初始化对象命令时,会重用已存在的值
- 代码块缓存机制适用范围:int、float、str、bool
- 代码块:一个模块、一个函数、一个类、一个文件都算是一个代码块
- 如果是交互方式,每输入一条命令就是一个代码块
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=老九学堂