python数据类型

python的基本数据类型

目录

1.字符串str

2.整型int

3.浮点型float

4.布尔类型bool

5.列表list

6.元祖tuple

7.集合set

8.字典dict

1.字符串str

1.1作用:

不可变类型。

主要是表示文本的数据类型,形容事物的属性。Python中最常用的类型之一。

1.2方式

主要有四种方式:

  1. '文本内容'。用单引号将内容包括。主要适用于单行。
  2. "文本内容"。用法同单引号。主要适用于单行。
  3. ‘’‘文本内容’‘’。当文本内容较多时可使用,主要适用于多行。
  4. str()。也可将其他数据类型转化为字符串类型。

Tip:在使用单、双引号时,切记不可在单引号中使用单引号、双引号中使用双引号。如需使用,可交叉使用。

# 1.单引号
print('这是一个单引号。')
# 2.双引号
print("很明显,这是一个双引号。")
# 3.三引号
print("""
	花开堪折直须折,
	莫待无花空折枝。
	兄弟,看到喜欢的妹纸就要去追啊!!
	""")
# 4.不能在单引号之中再次使用单引号,双引号也一样,如果你这样使用,电脑会懵逼。
print("这个是双引号'要是使用就要交叉使用',所以这里面有一个单引号")

1.3 基本操作

方法名 意义
count(x,start,end) 在范围内统计x出现的次数
len() 获得字符串的长度
endswith(x) 字符串是否以x结尾,返回True或者False
strip() 去掉字符串开头结尾的空格
capitalize() 首字母大写
title() 将字符串每个单词都大写开头
join(str) 将两个字符串进行拼接
encode() 将字符串编码成对应的编码
split(x) 将字符串以x为分割点分成列表
partition(x) 字符串以x为点将字符串分成三部分
index(X) 获取x的索引,没有则报错
find(x) 给出x的索引值,没有则返回-1
upper() 将字符串都变成大写
lower() 将字符串变成小写(支持ascii码)
casefold() 同上,但是可将不同形式的语言
isdigit() 判断字符串是不是全是数字,返回true或False
center(length) 将字符串填充到固定长度,且将原内容居中
replace(old,new) 用new来替换old
str.maketrans(a,b) 将a,b的ascii码编号形成k:v的字典

2.整型int

在Python2 中,超出固定长度的整型称为长整型,但是在Python3中,只有整型的概念。这里只对整型进行学习,复数什么的我也不会,只能说说整型了。

2.1 作用

顾名思义,简单理解就是数学中的整数,记录事物的数学属性。

2.2 定义方式

主要有两种方式:

  1. 直接输入。不需要想字符串一样加引号,直接获得

  2. int()。对纯数字不带小数点的字符串可以进行转化。

寻思了一下,好像也没找到什么具体的操作方法,直接进行相关操作就行了,但是要记得在用input得到用户的输入时,其类型属于字符串,如需使用,可对信息进行int()。

3.浮点型float

这个就更简单了,相当于在带小数点的数字。如果整型后面加上小数点,就变成了浮点型。

使用方法可以参考整型。但是记得,浮点型的英文简写是float。

其他的我就不记录了,这行就是凑字数的,省的显得我写的少。



4.布尔类型

布尔型主要有两个值:True和False。

4.1 作用

布尔类型主要用于条件判断。

4.2 定义方式

所有的值都有自己的布尔值,大家只需要记得什么代表False就行了。

False:0,None,空。

除了以上三个,其余则全部为真。

定义方式主要有两种:

  1. 直接得到。根据值代表的含义直接得到,比如0就是代表False。或者直接赋值tag=True
  2. 通过对比判断得到。如4>3就是True,4<3就是False。

4.3 应用

在语法结构中使用较多,如if和while的判断条件。

然后具体情况在之后的语法篇可能会分析一波。

5.列表list

可变类型,使用频率相当之高的数据类型,可以将列表当做一个收纳盒,将各种数据类型放进去,甚至是列表本身。还能非常简单的取出来,是不是很神奇?记得我学习的时候脑海里只剩下一句话python NB。话不多说,赶紧的开始旅程了。

5.1作用

按照顺序很方便地存放一些具有相同的某种联系的多个值,也能方便的取出。

5.2 定义方式

主要方式有两种:

  1. 直接定义。在[]内用逗号隔开不同的任意数据类型。

    user_info = ["tom",18,["playing","learning"]]

  2. 利用list()。可以使用list()方法转为列表。

    old_tuple = ("jerry",20)

    new_list = list(old_tuple) # new_list = ["jerry",20]

5.3 应用方式

列表的使用比较广泛,同一个列表可以存放不同类型的数据类型。在使用中大都将一些具有某种相同联系的数据存放在一个列表里。当然其中的值也可以没有关系,但是切记

存不是目的,目的是方便地取

5.4 基本操作

5.4.1 查

列表是根据索引进行取值,按照列表内从左到右的顺序依次从0开始数。

# 1.列表索引,这两个列表里的值代表各自位置索引
test_list1 = [ 0, 1, 2, 3, 4] # 从左是从0开始数
test_list2 = [-5,-4,-3,-2,-1] # 从右是-1开始数

# 2.取值
# 2.1 可以利用索引取值。
test_list = ["tom",20,["play","learn"]]

# 取出"tom"
test_list[0]

# 取出20
test_list[-2]

# 取出"play"
test_list[2][0]

5.4.2 增

列表属于可变数据类型。在列表里增加内容有以下几种方法。

方法 意义
append(x) 在列表的末尾增加元素x。x可是任意数据类型,但只能增加一次
insert(索引,x) 将x元素添加到索引位置之前。
extend(list1) 将list1的元素添加到列表的末尾。两个列表合并为1个。

5.4.3 删

方法 意义
remove(x) 将x从列表内删除,如果没有该元素报错。不能像pop一样删除元素重用
pop() 没有索引就删除最后一个元素,有索引就删除对应的元素,可以将删除元素赋值重用
clear() 将列表内清空。

5.4.4 改

# 根据列表元素的索引定位到该元素,然后进行重新赋值。
test_list = ["tom",20,["play","learn"]]

# 将tom 改成jerry
test_list[0] = "jerry"

# 将"play"改为"sleep"
test_list[-1][0] = "sleep"
             

5.4.5 其他操作

方法 意义
index(x) 查到x元素在列表内的索引,如果x不存在,则报错
count(x) 得出x在列表内出现的次数
reverse() 列表元素反转排序
sort() 对元素进行正向排序,不同数据类型不恩能够进行正向排序(操作不可逆)
sorted(list) 对列表进行排序,但是不会更改原有的元素排列

对列表进行遍历,主要使用一种方式。

test_list = ["tom",20,["play","learn"]]

for i in test_list:
	print(i)

6 元祖tuple

不可变数据类型,元祖一旦定义之后,就不能对其内容进行修改,与列表这个多变的渣男不同。

6.1 作用

效果与列表相同,但是不可修改。有特定的应用场景(也是很重要的)。

6.2 定义方式

元祖的表现形式是括号(),元祖内的元素也是用逗号隔开。但是记得,如果只有一个元素,务必要在该元素之后加一个逗号。(列表就不是这样)

# 1. 直接定义获得
test_tuple = ("tom",)
test_tuple1 = ("tom",20,["play","learn"])

# 2.利用tuple()方法转换列表
test_list = [1,2,3]
test_tuple = tuple(test_list)

6.3 基本操作

6.3.1 查

因为列表属于不可变类型。所以不可进行增、删、改。只可进行查询的操作。方法同列表

# 1.元祖索引,这两个列表里的值代表各自位置索引
test_tuple1 = (0, 1, 2, 3, 4) # 从左是从0开始数
test_tuple2 = (-5,-4,-3,-2,-1) # 从右是-1开始数

# 2.取值
# 2.1 可以利用索引取值。
test_tuple = ("tom",20,["play","learn"])

# 取出"tom"
test_tuple[0]

# 取出20
test_tuple[-2]

# 取出"play"
test_tuple[2][0]

6.3.2 其他操作

方法 意义
index(x) 查询x在元祖中的索引值,无x则报错
count(x) 统计x在元祖中出现的次数

7 集合set

同数学上的集合是一个概念。

7.1 作用

根据数学概念即可知其功能。

  1. 去重。在集合内没有完全相同的元素。
  2. 关系测试。可进行数学上的并、交、差运算。

7.2 定义方式

集合同列表、元祖差不多一样的定义方式,是在{}内元素用逗号隔开。只有一个元素不用逗号也是可以的。但是要记住的是,集合不能为空,空{}是一个字典。

# 1.使用{}直接定义,元素用逗号隔开
test_set = {"tom",20,["play","learn"]}

# 2.使用set()方法进行转换。
test_list = ["tom",20,["play","learn"],"tom"]
test_set = set(test_list)
# 会把重复的"tom"去掉
test_set = {"tom",20,["play","learn"]}

7.3 基本操作

集合属于可变类型,但是集合最重要的功能是进行去重和关系测试。由于集合是没有顺序的,且不像字典一样有Key值,导致并不能对集合内的元素进行查询。

7.3.1 天生去重

在集合内本身就没有相同的元素。即使你向集合内添加一个与集合内相同的元素,也是没有添加进这个元素的。

# 即使在定义的时候就将集合内的元素重复,但是打印时候,集合内这些元素依然只有一个。
test_set = {1,2,3,4,1,2,3,4}
print(tset_set)
test_set = {1,2,3,4}

7.3.2 增、删

功能 方法 意义
add(x) 将x添加到集合内
remove(x) 将x从集合内删除,没有则删除
pop() 对集合内的元素进行随机删除

7.3.3 关系测试

test_set1 = {1,2,3,4,"tom"}
test_set2 = {1,7,8,9,"tom"}

# 并集:union()
print(test_set1.union(test_set2))
# {1, 2, 3, 4, 7, 8, 9, 'tom'}

# 交集:intersection()
print(test_set1.intersection(test_set2))
# {1,"tom"}


# 差集:difference()

# 去掉集合2中与集合1相同的部分后剩余的元素
print(test_set1.difference(test_list2))
# {2, 3, 4}

其他方法我就不一一赘述了,也不常用,用的时候可以慢慢试试。我英语也不太好,那个太长了。

8 字典dict

无序可变数据类型。

字典的使用就是开启小装逼之路, 用了字典就会觉得立马不一样了,在用列表的时候可以试试直接用字典来,方便存取。

8.1 作用

Python中唯一内建映射类型,也是除列表之外最灵活的数据结构类型。

8.2 定义方式

字典外用花括号{}来包括元素,元素间是用 逗号 来隔离相邻的项,元素内部的用 key:value 来实现,前者代表的是key(key必须是字典内的唯一元素,不能重复)。后者则是value(value可以是任意数据类型,不需唯一)。两者之间用冒号代表。

key就相当于一个盒子的标签,你找到这个标签,就可以打开这个盒子看到里面的存放的value。

# 1.直接赋值定义得来
test_dict = {"key":"value","name":"tom"}

# 2.可以用dict()函数。=左边是key,右边是value
test_dict = dict(name = "tom",age = 18,list1=[1,2,3])
# 输出结果为 {'name': 'tom', 'age': 18,"list1":[1,2,3]}

8.3 基本操作

列表是以索引来查询元素的,字典则是以key来进行一系列操作的。

8.3.1查

test_dict = {"name":"tom","age":18,"hobby":["play","learn"]}

# 1.根据key来查询元素
# 取出"tom"
test_dict["name"]

# 取出play
test_dict["hobby"][0]

# 2.使用get方法来获取value,若没有key,则会返回None。
test_dict.get("name")


# 3.使用setdefault()方法。当然这方法主要是用来增加字典元素的。
# 取出”tom"
test_dict.setdefault("name")

8.3.2增

a = {"1":"one","2":"two","3":"three"}

# 1.直接使用[key]的方式。
a["4"] = "four"

# 2.使用setdefault()。如果字典有这个key,则会返回原有的value(可以用来查)。
setdefault("key","value")

# 3.updata()的方法。在括号内新增键值对
D = {"1":"one","2":"two"}
D.updata("3":"three","4":"four")

8.3.4 删

a = {"1":"one","2":"two","3":"three"}

# 1.pop(key)。如果key不存在,则会报错
a.pop("1")

# 2.clear()。清空字典所有元素
a.clear()

# 3.popitem()。随机删除,估计存在的意义是抽奖删除。
a.popitem()

8.3.4 改

a = {"1":"one","2":"two","3":"three"}

# 利用[key]来改变元素值。与列表相似。
a["1"] = "1"

8.3.5 其他操作

方法 意义
{}.fromkeys(list,value) 创建以list中元素为key,None为value的字典,也可自定义value,选填
keys() 将字典的所有key当做列表形式打印,如需使用则可用list()成真正列表
values() 主要是value,同上
items() 将(key,value)元祖作为列表元素,用法同上

遍历字典内容主要有四种方式

a = {"1":"one","2":"two","3":"three"}

# 1 对key进行遍历。强烈推荐
for k in a:
    print(k)
    
# 2 对key遍历的第二种形式。
for k in a.keys():
    print(k)

# 3 对value进行遍历
for v in a.values():
    print(v)
    
# 4 对key,value 进行遍历
for k,v in a.items():
    print(k,v)
    

TIP:练习题

# 作业
#1、students_info=[['egon',18,['play',]],['alex',18,['play','sleep']]]
请取出第一个学生的第一个爱好
students_info[0][2][0]
#2、针对字典
info={
    'name':'egon',
    'hobbies':['play','sleep'],
    'company_info':{
        'name':'Oldboy',
        'type':'education',
        'emp_num':40,
    }
}
请取出取公司名
info["company_info"]["name"]

#3、针对下述类型
students=[
    {'name':'alex','age':38,'hobbies':['play','sleep']},
    {'name':'egon','age':18,'hobbies':['read','sleep']},
    {'name':'wupeiqi','age':58,'hobbies':['music','read','sleep']},
]
取第二个学生的第二个爱好
students[1]["hobbies"][1]


需要改进的地方还请不吝赐教。

posted @ 2020-02-23 21:34  小菜鸟是我  阅读(306)  评论(0编辑  收藏  举报