为什么会有数据类型?

在介绍具体的数据类型之前,需要了解为什么需要区分数据类型。我们知道,一个公司会有很多个大的部门,每个部门下又会有许多细分的小部门,构成了公司的完整体系结构。如果把python的数据整体看做是一个公司,那么数据下面会有几个大部门——基本数据类型,而在每个大部门下还有众多小部门——内置方法及功能,每一条数据就像一个员工,会在不同的部门发挥作用。公司有这样的层级是为了提升管理效果,同理,python区分数据类型也是为了:更好的管理内存、便于管理数据,便有人类理解。

为了更好的说明,各种数字类型将按照下面的格式说明:

在这里插入代码片

#=基本使用===
#1、用途
#2、定义方式
#3、常用操作+内置的方法
#该类型总结
#存一个值or存多个值
#有序or无序
#可变or不可变(1、可变:值变,id不变。可变不可hash 2、不可变:值变,id就变。不可变==可hash)

 

整型(int)

  1. 用途
    整数类型就是用来表示年龄、年份等这些由数学上的整数构成的数据类型

  2. 定义方式
    x = 10 # x = int(10)
    由上面的定义方式可知,可以通过int()来转换整数类型,但是需要注意:只有全部由数字组成的字符串,才能转换成整型,数字两边可以有空格,但是数字字符间不允许有其他任意符号
    示例1:

  3. 常用操作+内置的方法
    整型没有太多操作与内置方法,常用的就是算术运算、比较运算、逻辑运算等,此处不做过多讲解

  4. 总结
    存放一个值
    不可变类型

浮点型(float)

  1. 用途
    整数类型就是用来表示身高、薪资等用小数表示的数据类型

  2. 定义方式
    x = 4.3 # x = float(4.3)
    由上面的定义方式可知,可以通过float()来转换浮点数类型,浮点数类型不仅可以将只包含小数的字符串转化成浮点型,字符串内包含整数也是可以转化的。

  3. 常用操作+内置的方法
    浮点型没有太多操作与内置方法,常用的就是算术运算、比较运算、逻辑运算等,此处不做过多讲解

  4. 总结
    存放一个值
    不可变类型

字符串类型(str)

  1.用途
     用于记录描述性质的状态

  2.定义方式
     在"",’’,""" “”",’’’ ‘’'内包含一串字符
         
         字符串转化:字符串可以将任何类型的数据转化成字符串。
         
  3、常用操作+内置的方法
             首先是我们最常用的一些操作和方法

  1. 按照索引取值,可取不可改

  2. 切片,顾头不顾尾,可以指定步长

  3. 长度len()
    返回字符串的长度

  4. 成员运算in 和 not in
    判断子字符串是否包含在原字符串中,返回布尔值

  5. 移除特殊符号stirp()
    默认字符串两头移除空格,挡在strip中指定参数后,可移除字符串两头的相应元素

  6. 切分split()
    根据字符串内部有规律的符号,将字符串切分成一个包含多个元素的列表

  7. 字符串和可以通过for循环遍历每一个字符


    8、一些常用的方法

# stirp、lstrip、rstrip,都可以实现移除特殊字符
msg = "****123****"
msg.strip("*") # 移除两头的"*": "123"
msg.lstrip("*") # 移除左边的"*": "123****"
msg.rstrip("*") # 移除右边的"*": "****123" # split、rsplit
msg = "12:23:34:56:78"
msg.split(":",2) # 从左边,按照":"分隔符,切分两次:
# ['12','23','34:56:78']
msg.rsplit(":",2) # 从右边,按照":"分隔符,切分两次:
# ['12:23:34','56','78'] # lower、upper 大小写转换
msg = "Wo SHI XiGazhi"
msg.lower() # 全小写:"wo shi xiguazhi"
msg.upper() # 全大写:"WO SHI XIGUAZHI" # startswith、endswith,判断开头或者结尾元素,返回布尔值
msg = "dsfgksdhal"
msg.startswith("dsf") # >>>Trueu
msg.endswith("hl") # >>>False # join(),拼接字符串类型,类似:字符串+字符串
msg = ['sd','saf','fbbdf']
":".join(msg) # 将msg中的字符串用":"连接起来,相当于split()反向操作 # replace(原值,新值,替换次数),复制原有字符串,并将用新元素更新原来的元素,返回新的字符串
msg = "wo shi ha ha shi wo ni shi"
msg.replace("shi","bushi",2) # 用"bushi"替换"shi",替换两次:
# "wo bushi ha ha bushi wo ni shi"
print(msg.replace("ha","xi")) # 默认全部替换:"wo shi xi xi shi wo ni shi" # isdight,判断字符串是否全部由数字组成,返回布尔值
x = b"4" # 字节串
y = "4" # 阿拉伯数字4
z = "四" # 中文汉字四
m = "Ⅳ" # 罗马数字Ⅳ
x.isdigit() # True,字节串认为是全部由数字组成
y.isdigit() # True,阿拉伯数字认为是数字
z.isdigit() # False,中文汉字不是数字类型
m.isdigit() # False,罗马数字不是数字类型 # format方法,对字符串进行格式化
x = "zhang"
y = 20
"wo shi {} age {}".format(x,y) # 将x,y顺序填充进{}:"wo shi zhang age 20"
"wo shi {y} age {x}".format(x,y) # 不再顺序填充,根据变量填充:
# "wo shi 20 age zhang"
"wo shi {0} {1} {0}".format(x,y) # 将按照索引,把对应的x,y填充:
# "wo shi zhang 20 zhang"

  9.一些不常用,但是需要知道的方法

```python
#1、find,rfind,index,rindex,count
msg = "hello zhang xxx zhang yyy zhang zzz"
msg.find("zhang",0,5) # 查找字符串中子字符串第一次出现时的索引,可以指定查找范围(0,5),没有不会报错: > None
msg.find("zhang") # 默认检索整个字符串: > 6
msg.rfind("zhang") # 从右边开始检索,可以指定检索范围: > 26 # msg.index("zhang",1,5) # 和find几乎一样,唯一区别是未找到报错: > 报错
msg.rindex("zhang") # 和find几乎一样,未找到报错: > 6 msg.count("zhang",1,20) # 计算子字符串出现了几次,可以指定检索范围: > 2 # center,ljust,rjust,zfill
msg = "*"
msg.center(20," ") # 指定输入宽度为20,"*"居中显示,其余用空格填充:
# " * "
msg.ljust(20,"0") # 指定输入宽度为20,居左显示,其余用0填充:
# *000000000000000000
msg.rjust(20,"-") # 居右显示,宽度为20,其余用"-"填充:
# ------------------*
msg.zfill(20) # 居右显示,默认用0填充,等价于:msg.rjust(20,"0") # captalize,swapcase,title
msg = "hellO woRld"
msg.capitalize() # 字符串首字母大写: Hello world
msg.swapcase() # 两级反转,大小写互换: HELLo WOrLD
msg.title() # 单词首字母大写: Hello World #、is数字系列
num1=b'4' #bytes
num2='4' # 阿拉伯数字
num3='四' #中文数字
num4='Ⅳ' #罗马数字 # 1、变量值是字节串或字符串类型并且包含的阿拉伯数字,isdigit()结果才为真
print(num1.isdigit())
print(num2.isdigit())
print(num3.isdigit())
print(num4.isdigit()) # 2、变量值是字符串类型并且包含的阿拉伯数字,isdecimal()结果才为真
print(num2.isdecimal())
print(num3.isdecimal())
print(num4.isdecimal()) # 3、变量值是字符串类型并且包含的阿拉伯数字\中文数字\罗马数字,isdecimal()结果才为真
print(num2.isnumeric())
print(num3.isnumeric())
print(num4.isnumeric()) #5、is其他
name='egon123'
print(name.isalnum()) #字符串由字母或数字组成
print(name.isalpha()) #字符串只由字母组成

  4、总结
  存放一个值
  不可变类型

列表(list)

元组(tuple)

字典(dict)

咱们下期见!

Python基础之数据类型详解的更多相关文章

  1. Python基础之数据类型详解(2)

    今天继续昨天的python基本数据类型详解,按照上一篇博文的格式,接下来讲解列表.元组.字典以及集合. 列表 1.用途按位置存放多个值2.定义在[]内用逗号分割开多个任意类型的元素 # 定义列表 # ...

  2. python基础之函数详解

    Python基础之函数详解 目录 Python基础之函数详解 一.函数的定义 二.函数的调用 三.函数返回值 四.函数的参数 4.1 位置参数 4.2 关键字参数 实参:位置实参和关键字参数的混合使用 ...

  3. python基础知识——字符串详解

    大多数人学习的第一门编程语言是C/C++,个人觉得C/C++也许是小白入门的最合适的语言,但是必须承认C/C++确实有的地方难以理解,初学者如果没有正确理解,就可能会在使用指针等变量时候变得越来越困惑 ...

  4. python之数据类型详解

    python之数据类型详解 二.列表list  (可以存储多个值)(列表内数字不需要加引号) sort s1=[','!'] # s1.sort() # print(s1) -->['!', ' ...

  5. python 数据类型详解

    python数据类型详解 参考网址:http://www.cnblogs.com/linjiqin/p/3608541.html 目录1.字符串2.布尔类型3.整数4.浮点数5.数字6.列表7.元组8 ...

  6. python数据类型详解(全面)

    python数据类型详解 目录1.字符串2.布尔类型3.整数4.浮点数5.数字6.列表7.元组8.字典9.日期 1.字符串1.1.如何在Python中使用字符串a.使用单引号(')用单引号括起来表示字 ...

  7. 转 python数据类型详解

    python数据类型详解 目录 1.字符串 2.布尔类型 3.整数 4.浮点数 5.数字 6.列表 7.元组 8.字典 9.日期 1.字符串 1.1.如何在Python中使用字符串 a.使用单引号(' ...

  8. Python数据类型详解——列表

    Python数据类型详解--列表 在"Python之基本数据类型概览"一节中,大概介绍了列表的基本用法,本节我们详细学一下列表. 如何定义列表:在[]内以英文里输入法的逗号,,按照 ...

  9. Python数据类型详解——元组

    Python数据类型详解--元组 有时候我们的列表数据不想被别人修改时该怎么办? 此时,就可以使用元组来存放,元祖又称为只读列表,不能修改 定义方式:与列表类似,将列表的[]换成()即可. 特性: 1 ...

随机推荐

  1. Vue 3.x Composition API

    Vue 3.x Composition API setup 调用时机 创建组件实例,然后初始化 props ,紧接着就调用setup 函数; 从生命周期钩子的视角来看,它会在 beforeCreate ...

  2. CSS flex waterfall layout

    CSS flex waterfall layout https://github.com/YoneChen/waterfall-flexbox https://css-tricks.com/snipp ...

  3. CSS overflow-anchor

    CSS overflow-anchor https://developer.mozilla.org/en-US/docs/Web/CSS/overflow-anchor https://develop ...

  4. zsh all in one

    zsh all in one zsh https://ohmyz.sh/ # install $ sh -c "$(curl -fsSL https://raw.github.com/ohm ...

  5. 解析js字符串

    myEval export const evalExp = /[!\&\|\+\-\*\%=\/<\>\^\(\)\~\:\?\;]/g; export function myEv ...

  6. nginx反向代理理解

    实际开发中,会有不同的环境: - 开发环境:自己的电脑- 测试环境:提供给测试人员使用的环境- 预发布环境:数据是和生成环境的数据一致,运行最新的项目代码进去测试- 生产环境:项目最终发布上线的环境 ...

  7. <span>居中

    在父元素中加style="text-align:center"; 比如下面这样 <head> </head> <body>     <di ...

  8. 看动画轻松学会 Raft 算法

    由于 Paxos 算法过于晦涩难懂且难以实现,Diego Ongaro 提出了一种更易于理解和实现并能等价于 Paxos 算法的共识算法 - Raft 算法. 因为 Raft 算法清晰易懂越来越多的开 ...

  9. 树莓派4b通过外接ssd硬盘启动系统失败的排查和解决

    树莓派4b通过外接ssd硬盘启动系统失败,症状: 屏幕卡在黑屏或提示 mmc1:Controller never released inhibit bit(s).... 先说如何设置硬盘启动,后面是解 ...

  10. mysql-canal-rabbitmq 安装部署教程

    原文 1.1. 开启 MySQL 的 binlog 日志 修改 my.cnf 或 my.ini(windows), 添加配置项: # binlog 日志存放路径 log-bin=D:\env\mysq ...