python基础知识2——数值类型和字符串类型

python基础知识学习笔记之常用数据类型操作

1、数值类型操作

  • 1.1、常见内建数学函数
    # 求绝对值
    print(abs(-1))
    
    # 最大值
    print(max(1, 2, 5, 10))
    
    # 最小值
    print(min(1, 2, 5, 10))
    
    # 四舍五入
    print(round(3.1415, 3))
    
    # 求幂
    print(pow(2, 10))
    
  • 1.2、常见math模块函数
    import math
    
    # 上取整
    res = math.ceil(3.2)
    print(res)
    
    # 下取整
    res = math.floor(3.6)
    print(res)
    
    # 开平方
    res = math.sqrt(9)
    print(res)
    
    # 求对数
    res = math.log(1000.0, 10.0)
    print(res)
    
  • 1.3、随机函数
    import random
    
    # random(): [0, 1)范围之内的随机小数
    print(random.random())
    
    # choice(seq): 从一个序列中随机挑选一个随机数值
    seq = [1, 3, 6, 5, 4, 2, 9, 12, 13, 15]
    print(random.choice(seq))
    
    # uniform(x, y):从[x, y]范围之内取一个随机小数
    print(random.uniform(1.0, 3.0))
    
    # randint(x, y): [x, y]范围之内的随机整数
    print(random.randint(1, 10))
    
    # randrange(start, stop, step=1): 给定[start, stop)区间之内的随机整数
    print(random.randrange(0, 50, 5))
    
  • 1.4、常用三角函数
    import math
    
    # 角度转弧度
    rad = math.radians(180)
    print(rad)
    
    # 弧度转角度
    deg = math.degrees(math.pi / 2)
    print(deg)
    
    # 正弦函数
    res = math.sin(math.pi / 2)
    print(res)
    
    # 余弦函数
    res = math.cos(math.pi / 3)
    print(res)
    
    # 正切函数
    res = math.tan(math.pi / 4)
    print(res)
    
    # 反正弦函数
    res = math.asin(1)
    print(res)
    
    # 反余弦函数
    res = math.acos(1)
    print(res)
    
    # 反正切函数
    res = math.atan(1)
    print(res)
    

2、布尔类型操作

# 布尔类型本质上是int类型的子类,可以直接参与运算
print(True + 2)
print(False + 2)

# 用作if的判断
if True:
    print("True")

# 用作while的判断
while True:
    print("while")

3、字符串类型操作

字符串是单个字符组成的一个集合。

  • 3.1、非原始字符串

    # 使用单引号包含: 'abc'
    string = 'abc'
    print(string, type(string))
    
    # 使用双引号包含: "abc"
    string = "abc"
    print(string, type(string))
    
    # 使用三个单引号包含: '''abc'''
    string = '''abc'''
    print(string, type(string))
    
    # 使用三个双引号包含: """abc"""
    string = """abc"""
    print(string, type(string))
    
  • 3.2、原始字符串

    # 非原始字符串前加r,即原始字符串,原始字符串不对转义字符进行转义
    string = r"abc\ndefg"
    print(string, type(string))
    
  • 3.3、字符串各个形式的特点

    • 单/双引号:
      混合使用时可以避免使用转义字符
    string = 'I am "jane"'
    print(string)
    string = "I am 'jane'"
    print(string)
    

    可以使用小括号将字符串写为多行

    string = ('I am ' 
    'jane')
    print(string)
    
    • 三引号:
      可以直接跨行书写
    string = """wo shi
    abc
    123 """
    print(string)
    

    此外,还可用于注释。

  • 3.4、字符串的拼接

    # 使用+号
    string = "abc" + "def"
    print(string)
    
    # 直接写在一起
    string = "abc" "def"
    print(string)
    
    # 使用格式化模板
    string = "I am %s" %("jane")
    print(string)
    
    # 字符串乘法
    string = "abc "*3
    print(string)
    
  • 3.5、字符串的切片(获取字符串的某个片段)

    • 获取某一个字符: string[索引]
    # 通过字符串下标获取
    string = "abcdefghijklmnopqrstuvwxyz"
    print(string[5])
    
    • 获取多个字符:
      • 语法:
        string[起始:结束:步长]
      • 说明:
        1)起始索引包含在内,结束不包含;
        2)步长大于0: 从左到右取,步长小于0: 从右到左取;
    string = "abcdefghijklmnopqrstuvwxyz"
    print(string[3:10:2])
    

    例如反转字符串:

    string = "abcdefghijklmnopqrstuvwxyz"
    print(string[::-1])
    
  • 3.6、字符串函数操作

    • 3.6.1、字符串查找计算
    # len(name): 计算字符串字符个数
    string = "abcdefg"
    print(len(string))
    
    # find(sub, start=0, end=len(str)): 从左往右查找子串所在索引(下标)位置,可指定区间区间:[start, end)
    string = "abcdefg"
    print(string.find("ef", 0, 6))
    
    # rfind(sub, start=0, end=len(str)): 从右往左查找子串所在索引(下标)位置,可指定区间区间:[start, end)
    string = "abcdefg"
    print(string.rfind("cd", 0, 6))
    
    # index(sub, start=0, end=len(str)): 从左往右获取子串所在索引(下标)位置,可指定区间区间:[start, end)
    string = "abcdefg"
    print(string.index("cd", 0, 6))
    
    # rindex(sub, start=0, end=len(str)): 从右往左获取子串所在索引(下标)位置,可指定区间区间:[start, end)
    string = "abcdefg"
    print(string.rindex("cd", 0, 6))
    
    # count(sub, start=0, end=len(str)):计算子串出现的个数, 可指定区间区间:[start, end)
    string = "abcdefg abcdefg abcdefg"
    print(string.count("cd"))
    
    • 3.6.2、字符串转换类操作
    # replace(old, new[, count]): 使用给定的字符串, 替换原字符串中的字符
    string = "I am abc"
    print(string.replace("abc", "def", 3))
    
    # capitalize(): 将字符串首字母变为大写
    string = "abcdef"
    print(string.capitalize())
    
    # title(): 将字符串每个单词的首字母变为大写
    string = "ab cd ef"
    print(string.title())
    
    # lower(): 将字符串中的每个字符都变为小写
    string = "aB cD Ef"
    print(string.lower())
    
    # upper(): 将字符串中的每个字符都变为大写
    string = "ab cd ef"
    print(string.upper())
    
    • 3.6.3、字符串填充压缩
    # ljust(width, fillchar): 根据指定字符,将原字符串填充到指定长度。原字符串靠左
    string = "abcdef"
    print(string.ljust(10, 'x'))
    
    # rjust(width, fillchar): 根据指定字符,将原字符串填充到指定长度。原字符串靠右
    string = "abcdef"
    print(string.rjust(10, 'x'))
    
    # center(width, fillchar): 根据指定字符,将原字符串填充到指定长度。原字符串居中
    string = "abcdef"
    print(string.center(10, 'x'))
    
    # lstrip(chars): 在保证字符串连续的前提下,从字符串左侧开始,移除原字符串中指定的字符,默认是移除空白字符
    string = "abcabcabcabc "
    print(string.lstrip("ab"))
    
    # rstrip(chars): 在保证字符串连续的前提下,从字符串右侧开始,移除原字符串中指定的字符,默认是移除空白字符
    string = "abcabcabcabc"
    print(string.rstrip("bc"))
    
    • 3.6.4、字符串分割拼接
    # split(sep, maxsplit): 将一个大的字符串分割成几个子字符串
    # sep: 分隔符,maxsplit: 最大的分割次数, 返回值:分割后的列表
    string = "abc-def-ghi-jkl"
    print(string.split("-", 2))
    
    # partition(sep): 根据指定的分隔符,返回分隔符左侧、分隔符、分隔符右侧组成的元组
    string = "abc-def-ghi-jkl"
    print(string.partition("-"))
    
    # rpartition(sep): 根据指定的分隔符,从右侧开始查找分隔符,返回(分隔符左侧、分隔符、分隔符右侧)三个元素组成的元组
    string = "abc-def-ghi-jkl"
    print(string.rpartition("-"))
    
    # splitlines(keepends): 根据换行符(\r, \n),将字符串拆成多个元素,保存到列表中
    # keepends: 是否保留换行符,bool类型
    string = "abc \n def \n ghi \r jkl"
    print(string.splitlines())
    print(string.splitlines(True))
    
    # join(iterable): 根据指定字符串,将给定的可迭代对象进行拼接,得到拼接后的字符串
    items = ["abc", "123", "def", "456" ]
    print(",".join(items))
    print("-".join(items))
    print("=".join(items))
    
    • 3.6.5、字符串的判定操作
    # isalpha(): 判断字符串中是否所有的字符都是字母
    string1 = "abcdefghijkl"
    string2 = "abc def ghi jkl"
    print(string1.isalpha())
    print(string2.isalpha())
    
    # isdigit(): 判断字符串中是否所有的字符都是数字
    string1 = "123456789"
    string2 = "123 456 789"
    print(string1.isdigit())
    print(string2.isdigit())
    
    # isalnum(): 判断字符串中是否所有的字符都是数字或字母
    string1 = "abc123def456"
    string2 = "abc 123 def 456"
    print(string1.isalnum())
    print(string2.isalnum())
    
    # isspace(): 判断字符串中是否都是空白符
    string1 = "  \n \t \r "
    string2 = "abc 123 def 456"
    print(string1.isspace())
    print(string2.isspace())
    
    # startswith(prefix, start=0, end=len(str)): 判断字符串是否以某个前缀开头
    string = "abc 123 def 456"
    print(string.startswith("abc"))
    print(string.startswith("123", 4))
    
    # endswith(suffix, start=0, end=len(str)): 判断字符串是否以某个后缀结尾
    string = "abc 123 def 456"
    print(string.endswith("456"))
    print(string.endswith("def", 3, 11))
    
    # in: 判断一个字符串是否被另一个字符串包含
    string = "abc 123 def 456"
    print("abc" in string)
    print("789" in string)
    
    # not in: 判断一个字符串是否被另一个字符串不包含
    print("abc" not in string)
    print("789" not in string)
    
  • 22
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值