• Python基础(一)—数值类型和字符类型


    用了Python很久了,可是一直没有系统的学习、记录、笔记,这次打算从头开始学习Python基础,打下坚实的基础后再通过《流畅的Python进阶》进阶。

    数字类型

    • Python的基本数据类型包括了:数字(Digit)、字符(String)、列表(List)、元组(Tuple)、集合(Sets)、字典(Dictionary)、日期(date)。
    • 数字类型
      • 整型:Python3中,已不区分长整型和短整型(在Python2中,长整形需要加上l)
      • 浮点型:和整型的区别在于是否有"."
      • 布尔型(特殊的整型):0 False,1 True;True / True # 1.0

    数据类型转换函数

    • int()
      不是采用四舍五入的方法,而是采用速度最快的“截断”。想要达到四舍五入的效果,可以按照+0.5的方式进行操作。以下使用了函数round()、ceil()、floor()。

        int()  # 0
        int(5.99)  # 5
        int('12',16) # 如果是带参数base的话,12要以字符串的形式进行输入,1216进制
        int('0xa',16)  # 10
        int('10',8)  # 8
      
        int(5.4+0.5)  # 5
        int(5.6+0.5)  # 5
      
        # 四舍五入保留指定位数的小数
        import decimal
        tmp = decimal.Decimal("0.835126")
        print(round(a,5))  # 0.83513
      
        # 向上取整,向下取整
        import math
        print(math.ceil(3.2))  # 4
        print(math.floor(3.8))  # 3
      
      
    • fload()
      Python没有double(),float()默认一位小数,使用float(’%.5f’ % a)可以指定四舍五入保留5位小数。
      其中float()用的是C里面的double实现,float的精度和范围受你的硬件限制,如下:

        print(sys.float_info)  #查看硬件支持float()的精度范围
        """sys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.220446049250313e-16, radix=2, rounds=1)"""
      
      

      如果要求用的精度高过硬件,可以用decimal.Decimal来表示浮点数,Decimal是用软件模拟精度的,精度不受限制,只是运算会比本来的float慢。

    • str()
      当str已被当作变量使用,即不能再次使用str()函数,否则会报错。

    获取数据类型函数

    • type()
      获取数据类型:
        type(a)  # <class 'decimal.Decimal'>
        type(True)  # <class 'bool'>
        type(5e15)  # <class 'float'>
        type('520')  # <class 'str'>
      
    • isinstance()
      Python更推荐使用这种方法进行获取类型。
        isinstance(a,decimal.Decimal)  # True
        isinstance(True,bool)  # True
        isinstance(5e15,float)  # True
        isinstance('520',str)  # True
      

    字符串

    Python中的字符串包括了数字、字幕、中文字符、特殊字符,以及一些不可见的控制字符(如换行符和制表符)。

    字符串的API

    • 常见的字符串的API如下表:
    函数名作用
    capitalize()将字符串的第一个字符转换为大写
    count(str, beg= 0,end=len(string))返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数
    bytes.decode(encoding=“utf-8”, errors=“strict”)Python3 中没有 decode 方法,但我们可以使用 bytes 对象的 decode() 方法来解码给定的 bytes 对象,这个 bytes 对象可以由 str.encode() 来编码返回。
    encode(encoding=‘UTF-8’,errors=‘strict’)以 encoding 指定的编码格式编码字符串,如果出错默认报一个ValueError 的异常,除非 errors 指定的是’ignore’或者’replace’
    endswith(suffix, beg=0, end=len(string))检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False.
    find(str, beg=0 end=len(string))检测 str 是否包含在字符串中 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1
    index(str, beg=0, end=len(string))跟find()方法一样,只不过如果str不在字符串中会报一个异常.
    len(string)返回字符串长度
    split(str=", num=string.count(str))num=string.count(str)) 以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num 个子字符串
    lower()、upper(转换字符串中所有大写字符为小写、大写.
    max(str)、min(str)返回字符串 str 中最大、最小的字母。
    lstrip()、rstrip()转截掉字符串左、右边的空格
    strip()转截掉字符串两边的空格
    replace(old, new [, max])把 将字符串中的 str1 替换成 str2,如果 max 指定,则替换不超过 max 次。
    startswith(str, beg=0,end=len(string))检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查。
    swapcase()将字符串中大写转换为小写,小写转换为大写
    splitlines([keepends])按照行(’ ’, ‘ ’, ’)分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。
    join(seq)以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
    isalnum()如果字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False
    isdigit()如果字符串只包含数字则返回 True 否则返回 False…
    isnumeric()如果字符串中只包含数字字符,则返回 True,否则返回 False
         >>> a.isdigit()
     	True
     	>>> a.isalnum()
     	True
     	>>> a = '12a'
     	>>> a.isalnum()
     	True
     	>>> a.isdigit()
     	False
    

    个人博客:Loak 正 - 关注人工智能及互联网的个人博客
    文章地址:Python基础(一)—数值类型和字符类型

  • 相关阅读:
    Linux操作系统学习之第三篇
    Linux操作系统学习之第二篇
    简介VMware workstaion
    Linux操作系统学习之起始篇
    c# 与java对应的 aes加密(带向量的)
    string转DateTime
    webapi项目创建
    c# mqtt 服务端、客户端简易例子
    vs快捷键
    c# 用byte数组生成图片
  • 原文地址:https://www.cnblogs.com/l0zh/p/13739762.html
Copyright © 2020-2023  润新知