python数值与字符串

python数值与字符串

一、[运算符](Python 运算符 | 菜鸟教程 (runoob.com))

1.基础运算符

  • (a=10,b=20)

    运算符 描述 实例
    + 加 - 两个对象相加 a + b 输出结果 30
    - 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -10
    * 乘 - 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 200
    / 除 - x除以y b / a 输出结果 2
    % 取模 - 返回除法的余数 b % a 输出结果 0
    ** 幂 - 返回x的y次幂 a**b 为10的20次方, 输出结果 100000000000000000000
    // 取整除 - 返回商的整数部分(向下取整 >>> 9//2 4 >>> -9//2 -5

2.比较运算符

  • (a=10,b=20)

    运算符 描述 实例
    == 等于 - 比较对象是否相等 (a == b) 返回 False。
    != 不等于 - 比较两个对象是否不相等 (a != b) 返回 True。
    <> 不等于 - 比较两个对象是否不相等。python3 已废弃。 (a <> b) 返回 True。这个运算符类似 != 。
    > 大于 - 返回x是否大于y (a > b) 返回 False。
    < 小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量 True 和 False 等价。 (a < b) 返回 True。
    >= 大于等于 - 返回x是否大于等于y。 (a >= b) 返回 False。
    <= 小于等于 - 返回x是否小于等于y。 (a <= b) 返回 True。

3.赋值运算符

  • (a=10,b=20)

    运算符 描述 实例
    = 简单的赋值运算符 c = a + b 将 a + b 的运算结果赋值为 c
    += 加法赋值运算符 c += a 等效于 c = c + a
    -= 减法赋值运算符 c -= a 等效于 c = c - a
    *= 乘法赋值运算符 c = a 等效于 c = c a
    /= 除法赋值运算符 c /= a 等效于 c = c / a
    %= 取模赋值运算符 c %= a 等效于 c = c % a
    **= 幂赋值运算符 c = a 等效于 c = c a
    //= 取整除赋值运算符 c //= a 等效于 c = c // a

4.位运算

  • (a=60,b=13即a = 0011 1100,b = 0000 1101)

    运算符 描述 实例
    & 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 (a & b) 输出结果 12 ,二进制解释: 0000 1100
    | 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。 (a | b) 输出结果 61 ,二进制解释: 0011 1101
    ^ 按位异或运算符:当两对应的二进位相异时,结果为1 (a ^ b) 输出结果 49 ,二进制解释: 0011 0001
    ~ 按位取反运算符:将二进制表示中的每一位取反,0 变为 1,1 变为 0。~x 类似于 -x-1 (~a ) 输出结果 -61 ,二进制解释: 1100 0011 (以补码形式表示),在一个有符号二进制数的补码形式。
    << 左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。 a << 2 输出结果 240 ,二进制解释: 1111 0000
    >> 右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数 a >> 2 输出结果 15 ,二进制解释: 0

    关于进制的运算:

    字符与ASCII码转换

    print(ord("A"))  # 65
    print(ord("强"))  # 24378
    print(chr(65))   # A

    进制转换

    print(bin(78))  # 转换为二进制0b1001110
    print(ocr(78))  # 八进制0o116
    print(hex(78))  # 十六进制0x4e

5.逻辑运算符

  • (a=10,b=20)

    运算符 逻辑表达式 描述 实例
    and x and y 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 (a and b) 返回 20。
    or x or y 布尔"或" - 如果 x 是非 0,它返回 x 的计算值,否则它返回 y 的计算值。 (a or b) 返回 10。
    not not x 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 not(a and b) 返回 False

二、[数值类型](Python Number(数字) | 菜鸟教程 (runoob.com))

1.类型转换

print(int(123.456))       # 取整数部分123
print(int(-123.456))      # -123
print(round(123.556,2))   # 保留两位小数取四舍五入123.56
print(float(12345))       # 把整数转化为小数12345.0
print(float("123.45"))    # 把字符串转化为小数
print(int("123.45"))      # 把字符串转换为整数
print(int(float("123.45")))         # 123

phone = 12345678
print("电话号码是:" + str(phone))    # 把数值转换为字符串

2.数值函数

函数 返回值 ( 描述 )
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的平方根

3.随机数函数

函数 描述
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]范围内。

要使用随机数函数要先导入模块

import random      # 导入一个模块
# 随机整数
r1 = random.randint(1, 10)         # 生成一个闭区间的随机数
r2 = random.randrange(1, 10)       # 左闭右开
r3 = random.randrange(1, 10, 2)    # 设置步长,只从1,3,5,7,9里生成随机数
# 随机小数
r4 = random.uniform(1.5, 3.5)      # 指定范围内的随机小数
# 从序列中生成随机数
r5 = random.choice("ABCDEFG")      # 从ABCDEFG序列中随机挑一个
r6 = random.choice([1,2,3,4,5])    # 从所给的列表中随机挑一个

4.三角函数

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

5.数学常量

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

三、字符串类型

1.访问字符串中的值

  • Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。
  • Python 访问子字符串,可以使用方括号来截取字符串

    变量[头下标:尾下标]
  • 索引值以0为开始,以-1为从末尾的开始位置

image-20240115185505817

image-20240115190412609

source = 'hello'
print(source[2])          # 取下标
print(source[0:3])        # 字符串切片操作,左开右闭,输出hel
print(source[1:])         # 从第二个开始到最后,输出ello
print(source[:3])         # 从最开始到第三个位置,输出hel
print(source[-1])         # 取最后一个,输出o
print(source[1:-2])       # 从第二个取到倒数第二个之前,输出el
print(source[0:5:2])      # 设置步长为2,输出hlo

2.字符串内置方法

source = ‘hello’
print(source.conut('l'))      # 取该子字符串在整个字符串中出现的次数,输出2
print(len(source))            # 取字符串的长度

source = "zhang,li,wang,zhao,zhou"
print(source.split(','))      # 按逗号拆分,输出一个列表,无参数默认按空格拆分
list = ['zhang','li','wang','zhao','zhou']
print(','.join(list))         # 用逗号作为连接将列表合并为字符串

target = source.encode()      # encode将字符串按照指定的格式转化为字节类型,默认编码格式为UTF-8
print(source.decode())        # decode将字节类型按照指定的编码格式转化为字符串,默认编码为UTF-8

source = ' \t hello \n \t'\
print(source.strip())         # 清除字符串左右的不可见的字符,输出hello
上一篇
下一篇