说明:本文描述的所有“黑魔法”都以Python3做示例代码,Python2示例代码请自行转换。本文不探讨Python基础课程,基础课程请自行学习。文章我会陆续更新,会很长,喜欢的朋友可以在底下留言。
1. 数字篇
1.1 二进制、八进制、十六进制直接输入
0b11
>>3
0o11
>>9
0x11
>>17
# 以上输入不允许出现小数
1.2 进制转换
# 十进制转二、八、十六进制
bin(253)
>>'0b11111101'
oct(253)
>>'0o375'
hex(253)
>>'0xfd'
# 以上输入不允许出现小数
# 各种进制转十进制
'''
int(<string>, <base>)
<base> 应该在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 | 是否为空字符 |