为什么会有数据类型?

在介绍具体的数据类型之前,需要了解为什么需要区分数据类型。我们知道,一个公司会有很多个大的部门,每个部门下又会有许多细分的小部门,构成了公司的完整体系结构。如果把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. API 授权 All In One

    API 授权 All In One 身份验证 授权类型 身份验证类型 继承认证 没有认证 API密钥 不记名令牌 基本认证 摘要授权 OAuth 1.0 OAuth 2.0 授权码 隐含的 密码凭证 ...

  2. Apple 反人类的设计的产品组合

    Apple 反人类的设计的产品组合 Apple shit design macbook pro 2018 + beats solo3 MBP 的耳机孔在电脑右边, betas 的耳机孔在左边, 组合起 ...

  3. free ebooks all in one

    free ebooks all in one pdf / ppt mobi / epub free programming ebooks free IT ebooks open free ebooks ...

  4. rem & 16px & 62.5%

    rem & 16px & 62.5% 浏览器的默认字体大小都是16px 兼容性:IE9+,Firefox.Chrome.Safari.Opera 的主流版本都支持了rem 对不支持的浏 ...

  5. svg & regex

    svg & regex https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Reg ...

  6. PM2 in depth

    PM2 in depth ecosystem.config.js module.exports = { apps : [{ name: "app", script: ". ...

  7. 解决ROS及Fast-RTPS安装和使用中raw.githubusercontent.com无法连接的问题

    资料参考: https://blog.csdn.net/weixin_44692299/article/details/105869229

  8. 生产者与消费者以及ActiveMQ

    生产者与消费者以及ActiveMQ 一. 多线程实现生产者与消费者 1.1 生产者与消费者头文件 #pragma once #include <iostream> #include < ...

  9. Java数组之冒泡排序

    package com.kangkang.array; import java.util.Arrays; public class demo07 { public static void main(S ...

  10. MySQL:基本操作与常用函数

    基本操作 这里的基本操作为添加.修改.删除数据表中的记录. INSERT语句 -- 通用INSERT: INSERT INTO 表名 (字段1, 字段2, ...) VALUES (值1, 值2, . ...