Python基本数据类型及使用

2018/06/29 11:17
阅读数 9

# 基本数据类型分类
  - int 整数
  - float 小数
  - bool 布尔值
  - str 字符串

## int 整数
  - 包括正整数和负整数
  - 与java、c等语言相比并没有位数限制,理论上可以是任意大

 

##float 小数  

  - 带有小数点的数,同样没有位数限制

  - 可以使用科学计数法表示,如1.23e2,相当于123.0,0.2e-2,相当于0.002。任何使用科学计数法的数字类型都是float。


## bool 布尔值
  - 表示真假的逻辑值
  - 只有两个:True/False
  - True == 1 False == 0
  - 在使用时,True/False和1/0在基本上可以相互替换,但两者属于不同数据类型


## str 字符串
  - 使用单引号、双引号、三单/双引号包裹的字符为字符串,如'LOVE'、"LOVE"、'''LOVE'''、"""LOVE"""
  - 三单/双引号用于创建多行字符串
  - str型数据内容不可变


## 基本数据类型之间的强制类型转换
  - 基本数据类型可以通过int() float() bool() str() 四个函数进行强制转换
  - int()
    - int(1.9)  # -> 返回 1,强制将小数点后所有内容略去,可以转换使用科学计数法表示的数
    - int(True)  # -> 返回 1,int(False) 输出 0
    - int("1")
    # -> 返回 1,只有具有数字特征的字符串(字符串中仅包含数字)才能强制转换为int型,不能转换带有小数点的字符串,不能转换科学计数法表示的数字字符串,不能转换字符串"True"/"False"
  - float()
    - float(1)   # -> 返回 1.0,对转换int型直接在整数后边加小数点和零
    - float(True)   # -> 返回 1.0, float(Float) 输出0.0,在这里True/False可以当作1/0来看
    - float("1.23") # -> 返回 1.23,只有具有数字特征的字符串(字符串中包含数字、小数点或科学计数法中的e)才能强制转换为float型,不能转换字符串"True"/"False"
  - bool()
    - bool(1)    # -> 返回True,任何不为零的数转换为布尔值都为Ture
    - bool("1acd") # -> 返回 True, 任何不为空的字符串转换为布尔值都为Ture
  - bool(None)    # -> 返回 False
  - str()
    - str(1.23)  # -> str()可以将任何基本数据类型转换为str型

 

## 基本数据类型的运算及基本数据类型自动转换
  - 基本数据类型可以进行使用运算符进行运算
  - 运算符包括:
    - 基本四则运算:加+ 减- 乘* 除/
    - 整除// 取余% 幂运算**
    - 逻辑运算符:小于等于<=   等于==   大于等于>=   不等于!=  与and   或or   非not
  - int型和float型数据的运算与数学运算无异,但int型和float型之间的运算会将结果自动转换为float型
  - 进行运算时,True/False分别当作1/0使用,与int型相同
  - 使用逻辑运算符时,返回值一定是True/False
  - 优先级
    - 先乘除后加减,实在弄不清楚就加括号将该运算提升至最高优先级
  - str型数据与其他基本数据类型之间只能使用 * ** and or not运算符

 

## and or not
  - and 与
    - 两个为真才为真,一个为假就是假
    - a and b # -> 若a为真返回b,若a为假返回a
  - or 或
    - 一个为真即是真,两个为假才是假
    - a or b # -> 若a为真返回a,若a为假返回b
  - not 非
    - 取反操作
    - not True == False # -> True


## 数字的进制
  - Python默认使用十进制,除此还可以使用三种进制
  - 0b或0B开头的数字代表二进制
  - 0o或0O开头的数字代表八进制
  - 0x或0X开头的数字代表十六进制


## str型数据常用操作
  - str型的运算
  - +
    - 使用加号进行拼接
    - 加号左右两个数据必须是str型
    - "LO" + "VE" # -> "LOVE"
  - *
    - 使用乘号进行复制
    - "LOVE" * 3 # -> "LOVELOVELOVE"  
  - 使用\转义
    - 为打印特殊字符或某些字符有歧义,使用\进行转义
    - \n 换行符 \t 制表符
    - 用 \' 和 \" 来表示单、双引号
    - 需要输出一个反斜线字符,连续输入两个反斜线
  - 使用[ ]提取字符串中的单个字符
    - "LOVE"[1] # -> "O"
    - 方括号内数字从 0 开始计数,最大不超过字符串长度,分别指向字符串中的每一单个字符
  - 使用[start:end:step]进行字符串分片操作,step默认为1
    - [:]提取从开头到结尾的整个字符串
    - [start:]从start提取到结尾
    - [:end]从开头提取到 end - 1
    - [start:end]从start提取到end - 1
    - [start:end:step]从start提取到end - 1,每隔step个字符提取
    - start,end,step可以为负数,start和end为负数表示从右往左数,从-1开始计数,step为负数则表示倒序
  - 与str型数据相关的常用函数
    - len():获取字符串长度
      - len("LOVE") # -> 4
    - split():字符串分割,返回一个列表
      - "L O V E".split(" ") # -> ['L', 'O', 'V', 'E']
    - join():字符串合并
      - ", ".join(["L", "O", "V", "E"]) # -> 'L, O, V, E'
    - index():返回制定字符索引
      - "LOVE".index("L") # -> 0
    - format():格式化输出
      - "{0}, I love you!".format("Lily") # -> 'Lily, I love you!'
    - replace():字符替换
      - "Hot".replace("H", "P") # -> "Pot" # 将所有制定字符替换为另一个字符
      - s.replace(被替换的子串, 用于替换的新子串, 需要替换多少处)
    - strip():去除字符串两端制定字符
      - "...LOVE...".strip(".") # -> "LOVE"
      - " LOVE ".strip() # -> "LOVE"
    - 字符串大小写相关
      - s.capitalize():首字母大写
      - s.title():所有单词首字母大写
      - s.upper():所有单词所有字母大写
      - s.lower():所有单词所有字母小写
      - s.swapcase():单词大小写逆转
  - 更多关于str型的函数请查看标准文档:https://docs.python.org/3/library/stdtypes.html#string-methods


本文参考书籍:[美]Bill Lubanovic 《Python语言及其应用》

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部