天天看點

python黑魔法指南_Python黑魔法大全

說明:本文描述的所有“黑魔法”都以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

是否為空字元