从0基础学习Python (Day18)
类的相关知识补充以及Python3新语法
1.成员
[对象成员和类成员]
对象成员
指的是这个类中的成员如果要使用和访问只能通过,将类进行实例成一个对象,然后通过对象去访问这个成员,对象成员无法通过类名直接访问,不管是方法还是属性
类成员
使用@classmethod修饰器进行修饰方法
类成员指的是这个成员在外部的访问可以通过类的名称或者该类实例的对象进行访问
类属性
优点:
- 记录的某项数据始终保持一致时,则定义类属性
- 实例属性要求每个对象为其单独开辟一份内存空间来记录数据,而雷属性为全类所共有,仅占用一份内存空间,更加节省内存空间
静态方法
静态成员:使用@staticmethod修饰器来进行修饰方法,静态方法不需要定义参数,可以通过类或方法进行访问,这种方法就类似于数据类型转换方法一样,
作用
例如类里面有一些功能,这个功能和实例对象其实并没有任何关系,但是需要让这个功能称为这个类的成员,可以采用静态或者类方法,访问可以直接通过类进行访问
2.字符串的输出
f-string(format)提供了一种简洁易读的方式,可以在字符串中包含Python表达式f-string以字符“f”或者"F"为前缀,格式化字符串使用一对单引号、双引号、三单引,三双引,格式化字符串
3.字符串格式化输出
主要使用的是字符串的格式化方法进行输出,一般情况下字符串中花括号内部设置输出的格式
数字 | 格式 | 输出 | 作用 |
---|---|---|---|
3.1415926 | {:.2f} | 3.14 | 保留小数点后2位小数 |
3.1415926 | {:+.2f} | +3.14 | 带符号保留小数点后2位 |
-1 | {:+.2f} | -1.00 | 带符号保留小数点后2位 |
3.1415926 | {:.0f} | 3 | 不带小数 |
5 | {:0>2d} | 05 | 数字补0(2d代表数的长度补充左边) |
5 | {:#<2d} | 5# | 数字补#(2d代表数的长度补充右边) |
100000000 | {:,} | 100,000,000 | 以逗号分隔数字的格式,人民币表示 |
0.25 | {:.2%} | 25.00% | 百分比格式输出 |
100000000 | {:.2e} | 1.00e+08 | 指数计数法 |
13 | {:10d} | 13 | 右对齐(默认宽度为10) |
13 | {:<10d} | 13 | 左对齐(默认宽度为10) |
13 | {:^10d} | 13 | 居中对齐(默认宽度为10) |
11 | {:b} | 1011 | 二进制输出 |
11 | {:d} | 11 | 十进制输出 |
11 | {: o} | 13 | 八进制输出 |
11 | {:x} | b | 十六进制输出 |
11 | {:#x} | 0xb | 十六进制格式输出 |
11 | {:#X} | 0XB | 大写十六进制格式输出 |
4.有序字典
原始的字典其内部元素的顺序不稳定,因此提出了一种新字典类型叫有序字典
from collections import OrderedDict
my_dict = OrderedDict()
my_dict["yi"] = 1
my_dict["er"] = 2
my_dict["san"] = 3
my_dict["si"] = 4
print(my_dict)
在Python3.6版本中dict字典已经经过优化处理,变为有序字典,并且字典所占用的内存减少了20%-25%
Day18-------END