Fluent Python
source link: https://feiyang233.club/post/fluent-python/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
Fluent Python
Record some trick of python3
reference
Building Lists of Lists
1
2
3
4
5
6
7
8
9
10
11
12
>>> board = [['_'] * 3 for i in range(3)]
>>> board
[['_', '_', '_'], ['_', '_', '_'], ['_', '_', '_']] >>> board[1][2] = 'X'
>>> board [['_', '_', '_'], ['_', '_', 'X'], ['_', '_', '_']]
# A list with three references to the same list is useless
>>> weird_board = [['_'] * 3] * 3
>>> weird_board
[['_', '_', '_'], ['_', '_', '_'], ['_', '_', '_']]
>>> weird_board[1][2] = 'O'
>>> weird_board
[['_', '_', 'O'], ['_', '_', 'O'], ['_', '_', 'O']]
A += Assignment Puzzler
1
2
3
4
5
6
7
>>> t = (1, 2, [10, 20])
>>> t[2] += [1, 1]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> t
(1, 2, [10, 20, 1, 1])
difference between dir and dict in python
- https://stackoverflow.com/questions/14361256/whats-the-biggest-difference-between-dir-and-dict-in-python
The same applies to many built-in types; lists do not have a dict attribute, but you can still list all the attributes using dir()
PyCharm
The Python IDE for Professional Developers https://www.jetbrains.com/pycharm/
- wechat article https://mp.weixin.qq.com/s/dc2vR8mcVsXJirIcRpsLYg
issue
Record issue that I cannot find in google
.DS_Store
after operation in some one folder, there is .DS_Store. Then I run following code
1
2
3
4
5
6
7
8
9
10
11
for fn in os.listdir("migrations/versions"):
if fn == "__pycache__":
continue
with open(f"migrations/versions/{fn}") as f:
first_line = f.readline()
# error is UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa9 in position 1087: invalid start byte
first_line = f.readline()
File "/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/lib/python3.7/codecs.py", line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb2 in position 319: invalid start byte
after deleting .DS_Store, all is good.
pycharm stuck
If you open PyCharm is always stuck, you can try delete this .idea folder
faster your pycharm
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK