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])按照行(’\r’, ‘\r\n’, \n’)分隔,返回一个包含各行作为元素的列表,如果参数 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基础(一)—数值类型和字符类型

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值