builtins

  1data = [1, 2, 3]
  2print(all(data))
  3
  4data = [1, 0, 3]
  5print(all(data))
  6
  7data = [1, 0, 3]
  8print(any(data))
  9
 10data = [0, 0, 0]
 11print(any(data))
 12
 13print("====================")
 14
 15# check all positive
 16if all(x > 0 for x in data):
 17    print("all positive")
 18
 19# check exist empty str
 20if any(s == "" for s in ["hello world", ""]):
 21    print("has empty str")
 22
 23print("====================")
 24
 25# return str: 0b111
 26print(bin(7))
 27print(oct(7))
 28
 29print("====================")
 30
 31x = {}
 32b = b"hello"
 33x[b] = 1
 34
 35try:
 36    b[0] = 72
 37except Exception as e:
 38    print(e)
 39
 40ba = bytearray(b"hello")
 41ba[0] = 72
 42ba.append(33)
 43print(ba)
 44
 45try:
 46    x[ba] = 2
 47except Exception as e:
 48    print(e)
 49
 50print("====================")
 51
 52print(callable(len))
 53print(callable(42))
 54
 55print("====================")
 56# turn int to char
 57print(chr(65))
 58print(chr(128512))
 59
 60# turn char to int
 61print(ord("A"))
 62print(ord("😀"))
 63
 64print("====================")
 65
 66
 67class Hello:
 68    def __init__(self, name):
 69        self.name = name
 70
 71    @classmethod
 72    def create(cls, name):
 73        return cls(name)
 74
 75    def print(self):
 76        print(self.name)
 77
 78
 79h = Hello.create("wqa")
 80h.print()
 81
 82print("====================")
 83print(divmod(10, 3))
 84
 85print("====================")
 86for idx, val in enumerate(["a", "b", "c"], start=1):
 87    print(idx, val)
 88
 89print("====================")
 90# 和列表推到的区别是
 91# - list一次性, filter是惰性,需要使用list()才能获取到完整
 92# - 因此filter占用内存较少
 93nums = [0, 1, 2, 3, 4, 5]
 94evens = list(filter(lambda x: x % 2 == 0, nums))
 95print(evens)
 96
 97print("====================")
 98x = 10
 99g = globals()
100print(g["x"])
101
102try:
103    print(g["y"])
104except Exception as e:
105    print(e)
106
107g["y"] = 20
108print(y)
109print(g["y"])
110
111print("====================")
112print(hash("abc"))
113print(hash((1, 2, 3)))
114
115try:
116    print(hash([1, 2]))
117except Exception as e:
118    print(e)
119
120print("====================")
121print(hex(255))
122print(hex(-42))
123
124print("====================")
125a = [1, 2]
126print(id(a))
127b = a
128print(id(b))
129
130print("====================")
131# name = input("Name: ")
132# print(name)
133
134print("====================")
135n = int("1011", 2)
136print(n)
137print(int.from_bytes(b"\x01\x00", "big"))
138print(int.from_bytes(b"\x00\x01", "little"))
139print((256).to_bytes(2, "big"))
140print((256).to_bytes(2, "little"))
141
142print("====================")
143print(isinstance(3, int))
144print(issubclass(bool, int))  # 注意和cpython是不同的, mpy不是sub class
145
146print("====================")
147
148
149def test():
150    a = 1
151    b = 2
152    print(locals())
153
154
155# 有bug,触发递归异常了
156# test()
157
158print("====================")
159
160
161def square(x):
162    return x * x
163
164
165nums = [1, 2, 3, 4]
166result = map(square, nums)
167print(list(result))
168
169print("====================")
170print(max([1, 2, 3]))
171print(max("a", "b", "c"))
172print(min("hello"))
173
174try:
175    print(max([]))
176except Exception as e:
177    print(e)
178
179print("====================")
180it = iter([10, 20])
181print(next(it))
182print(next(it))
183
184try:
185    print(next(it))
186except Exception as e:
187    print(e)
188
189print("====================")
190print(list(range(5)))
191print(list(range(2, 8, 2)))
192print(3 in range(1, 4))
193
194print("====================")
195print(list(reversed([1, 2, 3])))
196print(list(reversed(range(3))))
197
198print("====================")
199print(round(3.1415926, 2))
200print(round(3.5))
201print(round(2.5))
202
203print("====================")
204s = set([1, 2, 2, 3])
205print(s)
206print(2 in s)
207s.add(4)
208print(s)
209
210print("====================")
211print(sorted([3, 1, 4, 1, 5]))
212print(sorted("micro", key=ord, reverse=True))
213
214
215class Math:
216    @staticmethod
217    def add(a, b):
218        return a + b
219
220
221print(Math.add(3, 4))