上节课内容补充
1、基本数据类型
(1)int:
a、两种方式创建:直接创建;用__init__创建
b、内部优化:在一定范围内重复的数字共用同一个id,范围可自定义,默认范围-5~257
c、长度范围:32位(-2**31~2**31-1),64位(-2**63~2**63-1),
超出范围的数字自动转换为长整型Long,数字末尾加L
(2)str:
a、创建:无参数,创建字符串;一个参数,创建普通字符串;两个参数,int(字节,编码)(字符串与字节自由转换)
b、编码:3.5版本中for循环时循环的每一个元素是“字符”
1 name = "李璐" 2 3 for i in name: 4 print(i) # 循环的每一个字符串是"字符" 5 """ 6 李 7 璐 8 """ 9 bytes_list = bytes(i, encoding="utf-8") 10 print(bytes_list) # 默认每一个字节都是16进制表示 11 """ 12 b‘\xe7\x92\x90‘ 13 """ 14 for b in bytes_list: 15 print(b) # 默认每一个字节都是10进制表示 16 print(bin(b)) # 2进制 17 """ 18 231 19 0b11100111 20 146 21 0b10010010 22 144 23 0b10010000 24 """
str
(3)list:
a、创建
b、转换
(4)tuple:
a、创建
b、转换
c、嵌套(元素不可修改)
d、元组的元素不可修改,嵌套的列表,字典等可修改
1 t = (11, 22, ["alex", {"k1": "v1"}]) 2 print(t) 3 # (11, 22, [‘alex‘, {‘k1‘: ‘v1‘}]) 4 t[2].append(123) 5 print(t) 6 # (11, 22, [‘alex‘, {‘k1‘: ‘v1‘}, 123])
tuple
(5)dict:
a、创建
b、fromkeys 指定key和values创建一个新的字典
1 # 创建 2 a1 = {"k1": 123} 3 print(1, a1) 4 # {‘k1‘: 123} 5 6 a2 = dict(k1=123, k2=456) 7 print(2, a2) 8 # {‘k1‘: 123, ‘k2‘: 456} 9 10 li = [11, 22, 33] 11 new_dict = dict(enumerate(li)) 12 print(3, new_dict) 13 # {0: 11, 1: 22, 2: 33} 14 15 # 特殊功能 16 dic = {"k1": 11, "k2": 22, "k3": 33, "k4": 44} 17 n = dict.fromkeys(["k1", "k2", "k3"], "alex") 18 print(4, n) 19 # {‘k1‘: ‘alex‘, ‘k3‘: ‘alex‘, ‘k2‘: ‘alex‘} 20 21 n1 = dict.fromkeys(["k1", "k2", "k3"], []) 22 n1["k1"].append("x") 23 print(5, n1) 24 # {‘k1‘: [‘x‘], ‘k2‘: [‘x‘], ‘k3‘: [‘x‘]} 25 26 n2 = {‘k1‘: [], ‘k2‘: [], ‘k3‘: []} 27 n2["k1"].append("x") 28 print(6, n2) 29 # {‘k1‘: [‘x‘], ‘k2‘: [], ‘k3‘: []}
dict
内容整理:
str:一般字符串,执行一个功能,生成一个新的内容,原内容不变
list; tuple;dict:执行一个功能,自身进行变化
@staticmethod 有责通过类调用(类.方法),无责通过对象调用(对象.方法)
1 class MyInt(object): 2 def __init__(self): 3 print("init") 4 def __call__(self, *args, **kwargs): 5 print("ok") 6 7 obj = MyInt() 8 # 输出结果:init 9 obj() 10 # 输出结果:0k
# 类:举例
时间: 2024-09-30 16:04:08