說明:本文描述的所有“黑魔法”都以Python3做示例代碼,Python2示例代碼請自行轉換。本文不探讨Python基礎課程,基礎課程請自行學習。文章我會陸續更新,會很長,喜歡的朋友可以在底下留言。
1. 數字篇
1.1 二進制、八進制、十六進制直接輸入
0b11
>>3
0o11
>>9
0x11
>>17
# 以上輸入不允許出現小數
1.2 進制轉換
# 十進制轉二、八、十六進制
bin(253)
>>'0b11111101'
oct(253)
>>'0o375'
hex(253)
>>'0xfd'
# 以上輸入不允許出現小數
# 各種進制轉十進制
'''
int(, )
應該在2和36之間
'''
int('11',2)
>>3
int('11',4)
>>5
int('11',8)
>>9
int('11',36)
>>37
1.3 複數直接用
a = 9 + 7j
# 取共轭
a.conjugate()
>>(9-7j)
a*a.conjugate()
>>(130+0j)
# 虛部
a.imag
>>7.0
# 實部
a.real
>>9.0
1.4 分數
from fractions import Fraction
# 直接從float構造,自動約分
Fraction(1.875)
>>Fraction(15, 8) # 15/8
# 從兩整數相除構造
a = Fraction(2,3)
a.numerator
>>2 # 分子
a.denominator
>>3 # 分母
b = Fraction(5,7)
a*b
>>Fraction(10, 21)
a-b
>>Fraction(-1, 21)
float(a)
>>0.6666666666666666
1.5 其他數學常量、函數
from math import e, pi, sin, cos, log, sqrt ...
e
>>2.718281828459045
pi
>>3.141592653589793
# 再說一個開根号的簡單方法
2**0.5
>>1.4142135623730951
# 三次根
2**(1/3)
>>1.2599210498948732
2.字元串篇
2.1 字母表
from string import ascii_letters, ascii_lowercase, ascii_uppercase, octdigits, digits, hexdigits
# 小寫字母
ascii_lowercase
>>'abcdefghijklmnopqrstuvwxyz'
# 大寫字母
ascii_uppercase
>>'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
# 全部字母
ascii_letters
>>'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
octdigits # 八進制字元集
>>'01234567'
digits # 十進制字元集
>>'0123456789'
hexdigits # 十六進制字元集
>>'0123456789abcdefABCDEF'
# 别問我為什麼沒有二進制字元集,沒見過你這麼懶的
2.2 字元串函數
2.2.1 判定函數
函數
作用
示例/說明
isalnum
是否為字母或數字
isalpha
是否為字母
isascii
是否為ascii字元
isdecimal
是否為十進制數
isdigit
是否為數字
isidentifier
是否為Python辨別符
islower
是否為小寫字母
isupper
是否為大寫字母
istitle
是否為Title
isnumeric
是否為數字
isprintable
是否為可列印字元
isspace
是否為空字元