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))