菜鸟教程 -- 学的不仅是技术,更是梦想!

Python 基础教程
(追記) (追記ここまで)

Python Number(数字)

Python Number 数据类型用于存储数值。

数据类型是不允许改变的,这就意味着如果改变 Number 数据类型的值,将重新分配内存空间。

以下实例在变量赋值时 Number 对象将被创建:

var1 = 1
var2 = 10

您也可以使用del语句删除一些 Number 对象引用。

del语句的语法是:

del var1[,var2[,var3[....,varN]]]]

您可以通过使用del语句删除单个或多个对象,例如:

del var
del var_a, var_b

Python 支持四种不同的数值类型:

  • 整型(Int) - 通常被称为是整型或整数,是正或负整数,不带小数点。
  • 长整型(long integers) - 无限大小的整数,整数最后是一个大写或小写的L。
  • 浮点型(floating point real values) - 浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102 = 250)
  • 复数(complex numbers) - 复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。
intlongfloatcomplex
1051924361L0.03.14j
100-0x19323L15.2045.j
-7860122L-21.99.322e-36j
0800xDEFABCECBDAECBFBAEl32.3+e18.876j
-0490535633629843L-90.-.6545+0J
-0x260-052318172735L-32.54e1003e+26J
0x69-4721885298529L70.2-E124.53e-7j
  • 长整型也可以使用小写"L",但是还是建议您使用大写"L",避免与数字"1"混淆。Python使用"L"来显示长整型。
  • Python还支持复数,复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型


Python Number 类型转换

int(x [,base ]) 将x转换为一个整数 
long(x [,base ]) 将x转换为一个长整数 
float(x ) 将x转换到一个浮点数 
complex(real [,imag ]) 创建一个复数 
str(x ) 将对象 x 转换为字符串 
repr(x ) 将对象 x 转换为表达式字符串 
eval(str ) 用来计算在字符串中的有效Python表达式,并返回一个对象 
tuple(s ) 将序列 s 转换为一个元组 
list(s ) 将序列 s 转换为一个列表 
chr(x ) 将一个整数转换为一个字符 
unichr(x ) 将一个整数转换为Unicode字符 
ord(x ) 将一个字符转换为它的整数值 
hex(x ) 将一个整数转换为一个十六进制字符串 
oct(x ) 将一个整数转换为一个八进制字符串 

Python math 模块、cmath 模块

Python 中数学运算常用的函数基本都在 math 模块、cmath 模块中。

Python math 模块提供了许多对浮点数的数学运算函数。

Python cmath 模块包含了一些用于复数运算的函数。

cmath 模块的函数跟 math 模块函数基本一致,区别是 cmath 模块运算的是复数,math 模块运算的是数学运算。

要使用 math 或 cmath 函数必须先导入:

import math

查看 math 查看包中的内容:

>>> import math
>>> dir(math)
['__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'copysign', 'cos', 'cosh', 'degrees', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'pi', 'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc']
>>>

下文会介绍各个函数的具体应用。

查看 cmath 查看包中的内容

>>> import cmath
>>> dir(cmath)
['__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atanh', 'cos', 'cosh', 'e', 'exp', 'inf', 'infj', 'isclose', 'isfinite', 'isinf', 'isnan', 'log', 'log10', 'nan', 'nanj', 'phase', 'pi', 'polar', 'rect', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau']
>>>

实例

>>> import cmath
>>> cmath.sqrt(-1)
1j
>>> cmath.sqrt(9)
(3+0j)
>>> cmath.sin(1)
(0.8414709848078965+0j)
>>> cmath.log10(100)
(2+0j)
>>>

Python数学函数

函数返回值 ( 描述 )
abs(x) 返回数字的绝对值,如abs(-10) 返回 10
ceil(x) 返回数字的上入整数,如math.ceil(4.1) 返回 5
cmp(x, y) 如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1
exp(x) 返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045
fabs(x) 以浮点数形式返回数字的绝对值,如math.fabs(-10) 返回10.0
floor(x) 返回数字的下舍整数,如math.floor(4.9)返回 4
log(x) 如math.log(math.e)返回1.0,math.log(100,10)返回2.0
log10(x) 返回以10为基数的x的对数,如math.log10(100)返回 2.0
max(x1, x2,...) 返回给定参数的最大值,参数可以为序列。
min(x1, x2,...) 返回给定参数的最小值,参数可以为序列。
modf(x) 返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。
pow(x, y) x**y 运算后的值。
round(x [,n]) 返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。
sqrt(x) 返回数字x的平方根


Python随机数函数

随机数可以用于数学,游戏,安全等领域中,还经常被嵌入到算法中,用以提高算法效率,并提高程序的安全性。

Python包含以下常用随机数函数:

函数描述
choice(seq) 从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。
randrange ([start,] stop [,step]) 从指定范围内,按指定基数递增的集合中获取一个随机数,基数默认值为 1
random() 随机生成下一个实数,它在[0,1)范围内。
seed([x]) 改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed。
shuffle(lst) 将序列的所有元素随机排序
uniform(x, y) 随机生成下一个实数,它在[x,y]范围内。


Python三角函数

Python包括以下三角函数:

函数描述
acos(x) 返回x的反余弦弧度值。
asin(x) 返回x的反正弦弧度值。
atan(x) 返回x的反正切弧度值。
atan2(y, x) 返回给定的 X 及 Y 坐标值的反正切值。
cos(x) 返回x的弧度的余弦值。
hypot(x, y) 返回欧几里德范数 sqrt(x*x + y*y)。
sin(x) 返回的x弧度的正弦值。
tan(x) 返回x弧度的正切值。
degrees(x) 将弧度转换为角度,如degrees(math.pi/2) , 返回90.0
radians(x) 将角度转换为弧度


Python数学常量

常量描述
pi数学常量 pi(圆周率,一般以π来表示)
e数学常量 e,e即自然常数(自然常数)。
AI 思考中...

5 篇笔记 写笔记

  1. #0

    range()函数

    >>> range(1,5) # 代表从1到5(不包含5)
    [1, 2, 3, 4]
    >>> range(1,5,2) # 代表从1到5,间隔2(不包含5)
    [1, 3]
    >>> range(5) # 代表从0到5(不包含5)
    [0, 1, 2, 3, 4]
    

    注意:默认情况下,range() 的起始值是 0。

    >>> for i in range(5) :
    ... print(i)
    ... 
    0
    1
    2
    3
    4
    
    9年前 (2017年04月10日)
  2. #0

    秋叶

    913***[email protected]

    52

    cmp(x, y) 函数在 python3.x 中不可用,可用以下函数替代:

    operator.lt(a, b) lt(a, b) 相当于 a < b
    operator.le(a, b) le(a,b) 相当于 a <= b
    operator.eq(a, b) eq(a,b) 相当于 a == b
    operator.ne(a, b) ne(a,b) 相当于 a != b
    operator.ge(a, b) gt(a,b) 相当于 a >= b
    operator.gt(a, b) ge(a, b)相当于 a > b

    秋叶

    913***[email protected]

    9年前 (2017年08月08日)
  3. #0

    Python 用到了一个将一个数字转化为 对应ASCII 的地方。。。 结果习惯性的用了 ‘a’+1 之类的 或者int('a') , 直接报错== 后来查了查才知道--- 规则== 用的是 ord('a') 和chr(59) 之类: 记录一下吧 挺常用的

    Python 2.7.8 (default, Jun 30 2014, 16:08:48) [MSC v.1500 64 bit (AMD64)] on win 
    32 
    Type "help", "copyright", "credits" or "license" for more information. 
    >>> ord('b') # convert char to int 
    98 
    >>> chr(100) # convert int to char 
    'd' 
    >>> unichr(100) # return a unicode byte 
    u'd' 
    >>>
    9年前 (2017年10月06日)
  4. #0

    xjsnight

    267***[email protected]

    19

    abs() 和 fabs() 区别

    • 1、abs()是一个内置函数,而fabs()在math模块中定义的。
    • 2、fabs()函数只适用于float和integer类型,而 abs() 也适用于复数。
    >>> abs(-10)
    10
    >>> fabs(-10)
    Traceback (most recent call last):
     File "<stdin>", line 1, in <module>
    NameError: name 'fabs' is not defined
    >>>import math
    >>> math.fabs(-10)
    10.0
    >>>type(abs(-10))
    <type 'int'>
    >>> type(math.fabs(-10))
    <type 'float'>

    正如上面显示 abs(-10) 返回的是 10,而math.fabs(-10)返回的是 10.0

    >>>type(abs(-10))
    <type 'int'>
    >>> type(math.fabs(-10))
    <type 'float'>
    >>>

    xjsnight

    267***[email protected]

    9年前 (2017年12月15日)
  5. #0

    ygl611

    ygl***@163.com

    32

    Python 如何将整数转化成二进制字符串

    1、你可以自己写函数采用 %2 的方式来算。

    >>> binary = lambda n: '' if n==0 else binary(n/2) + str(n%2)
    >>> binary(5)
    '101'
    >>> 

    2、采用 python 自带了方法 bin 函数,比如 bin(12345) 回返回字符串 '0b11000000111001', 这个时候在把0b去掉即可:

    >>> bin(12345).replace('0b','')
    '11000000111001'

    3、也可以采用字符串的 format 方法来获取二进制:

    >>> "{0:b}".format(12345)
    '11000000111001'
    >>> 

    ygl611

    ygl***@163.com

    8年前 (2018年03月06日)

点我分享笔记

  • 昵称 (必填)
  • 邮箱 (必填)
  • 引用地址

AltStyle によって変換されたページ (->オリジナル) /