天天看点

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

是否为空字符