Python基础(二):基本数据类型

基本数据类型

数字类型及操作

  1. 数字类型

    数字类型可以自动“拓宽”:整数→浮点数→复数

    • 整数

      4 种进制表示(十进制、二进制、八进制、十六进制)

    • 浮点数

      1. 浮点数运算存在不确定尾数

      2. 浮点数可采用科学记数法表示

    • 复数

  2. 数值运算操作符

    • x+y | x-y | x*y | x/y | x//y | x%y | x**y | +x | -x

    • x op y

      op为二元操作符,例如 x += y

  3. 数值运算函数

    • abs(x) | pow(x,y[,z]) | divmod(x,y) | round(x,[,d]) | max(a,b,...) | min(a,b,...)

      1. [ ] 表示参数可以省略

      2. divmod(x,y) 同时输出商和余数

      3. pow(x,y[,z]) 计算 (x**y)%z

      4. round(x[,d]) 四舍五入,d 是保留小数位数

    • int(x) | float(x) | complex(x)

      数字类型的显式转换

字符串类型及操作

  1. 字符串类型

    • 如何表示

      一对单引号,一对双引号,一对三单引号,一对三双引号

    • 操作符:x+y | x*n 或 n*x | x in s

      1. x*nn*x:复制 n 次字符串 x

      2. x in s:判断 x 是 s 的子串

  2. 处理字符串的函数

    • len(s) | str(x) | hex(x) | oct(x)

      hex(x)oct(x):整数 x 的八进制与十六进制小写形式字符串。

    • chr(u) | ord(x)

      1. u 为 Unicode 编码,chr(u) 返回对应的字符

      2. x 为字符,ord(x) 返回对应的 Unicode 编码

  3. 字符串处理方法

    • .lower() | .upper() | .split(sep) | .count(sub) | .replace(old,new)

    • .center(width[,fillchar]) | .strip(chars) | .join(iter)

    • 字符串格式化

      • <模板字符串>.format(<逗号分隔的参数>)

      • 槽: 用 {} 表示槽,如下图:

        • 槽内部的写法:{<参数序号>:<格式控制标记>}

        • 槽内部的格式控制标记:

思维导图

Tips

  1. 字符串处理方法

    .lower().upper() 返回字符串的副本,全部字符转为小写/大写
    .count(sub) 返回子串sub在str中出现的次数
    .replace(old,new) 返回字符串的副本,所有old子串被替换为new
    .center(width[,fillchar]) 让字符串根据宽度width居中,fillchar是用于填充的符号
    .strip(chars) 删除字符串两端的空格或指定字符chars。"123abob321".strip('12')结果为3abob3
    .split(sep) 以sep分割字符串,返回列表,"A,B,C".split(",") 结果为['A','B','C']
    .join(iter) 联结字符串元素。"-".join("12345")结果为1-2-3-4-5

    split:分开,join:联合

  2. 字符串的格式化输出 .format(),对槽的内部控制格式加深理解

    #eg1
    print("工作日的努力参数是: {:.3f}".format(dayfac))
    #eg2
    print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a,b,d) ,end="")
    #eg3
    N = eval(input())
    for i in range(1,N+1,2): # 从1到N,步长为2
        #print(('*'*i).center(N,' ')) # 一种方式
        print("{:^{}}".format('*'*i,N)) # 另一种方式
        # 注意如果用print("{:^N}".format('*'*i))是错误的

  3. Python 没有字符类型,不能直接进行字符加减运算,需借助 chr(u)ord(x) 函数

    #凯撒密码加密
    plaintext = input()
    ciphertext = ""
    for p in plaintext:
        if 'a' <= p <= 'z': # 字符串比较
            **c = chr(((ord(p)-ord('a'))+3)%26+ord('a'))**
        elif 'A' <= p <= 'Z': # 字符串比较
            **c = chr(((ord(p)-ord('A'))+3)%26+ord('A'))**
        else:
            c = p
        ciphertext += c
    print(ciphertext)


Python基础(二):基本数据类型
https://luminous-ee.github.io/2023/01/22/Python基础(二):基本数据类型/
作者
落与
发布于
2023年1月22日
许可协议