【Python 入门】基本数据类型

Python 的数据分为五种类型:

  • Number(数字)
  • String(字符串)
  • Container(容器)
  • Bool(布尔)
  • None(空值)

其中容器又分为:列表,元组、集合、字典。集合又可细分为双向链表、排序字典和计数器。

上述分类中,数字、字符串、元组是不可更改只可复制的。下面只讲解这些数据类型的简单应用,更详细的操作请进一步搜索学习。


一、Number(数字)

数字又具体分为整型,浮点数,复数,示例如下:

#整型
age = 20
print('现在的年龄是:%d,
十年前的年龄是:%d'%(age, age-10))
#浮点数
a = 2/3
print(a)

输出如下:

现在的年龄是:20,
十年前的年龄是:10
0.6666666666666666

二、String(字符串)

示例如下:

# 字符串学习
testStr1 = 'Python语言'
testStr2 = '在大数据分析时代很重要。'
testStr3 = '人生苦短,我用Python'
testStr4 = testStr1 + testStr2 + testStr3
print('第一个字符串是:%s,
第二个字符串是:%s,
第三个字符串是:%s,
      
合并后是:%s'%(testStr1,testStr2,testStr3,testStr4))

输出如下:

第一个字符串是:Python语言,
第二个字符串是:在大数据分析时代很重要,
第三个字符串是:人生苦短,我用Python,      
合并后是:Python语言在大数据分析时代很重要。人生苦短,我用Python

三、Container(容器)

容器可以细分为四个类型,列表 List,元组 Tuple,集合 Sets,字典 Dictionary。

容器的 4 个操作:增加,删除,查询,修改。

3.1 容器之列表List []

nameList = ['唐僧','孙悟空','猪八戒']
print('列表是:', nameList)
print('列表长度:', len(nameList))
#1 增加
nameList.append('沙僧')
print('增加一个取经人:', nameList[len(nameList)-1])
print('现在的取经队伍是:', nameList)
#2 删除
del nameList[0]
print('被妖怪抓走后的取经队伍:', nameList)
#3 查询,使用下标索引查询访问
name1 = nameList[2]
print('现在队伍中第三个人是:', name1)
#4 修改
nameList[2] = '白龙马'
name1 = nameList[2]
print('修改后现在队伍中第三个人是:', name1)

输出如下:

列表是: ['唐僧', '孙悟空', '猪八戒']
列表长度: 3
增加一个取经人: 沙僧
现在的取经队伍是: ['唐僧', '孙悟空', '猪八戒', '沙僧']
被妖怪抓走后的取经队伍: ['孙悟空', '猪八戒', '沙僧']
现在队伍中第三个人是: 沙僧
修改后现在队伍中第三个人是: 白龙马

3.2 容器之元组Tuple ()

特点是无法修改和删除其中的元素。

westTuple = ('唐僧', '孙悟空', '猪八戒', '沙和尚', '白龙马')
print('元组是取经队伍队员:', westTuple)
name2 = westTuple[0]
print('取经队伍第一名队员:', westTuple[0])
del westTuple[0]
print('取经队伍第一名队员:', westTuple[0])

输出如下:

元组是取经队伍队员: ('唐僧', '孙悟空', '猪八戒', '沙和尚', '白龙马')
取经队伍第一名队员: 唐僧
Traceback (most recent call last):
  File "E:	echnologyPython 3.9.1	est.py", line 6, in <module>
    del westTuple[0]
TypeError: 'tuple' object doesn't support item deletion

可以看出,在删除那步就报错了,因为禁止删除元祖中的元素。


3.3 容器之集合Sets {}

Sets 是没有重复元素的容器。有三个特征:

  • 确定性(集合中的元素必须是确定的)
  • 互异性(集合中的元素互不相同。例如:集合A={1,a},则a不能等于1)
  • 无序性(集合中的元素没有先后之分),如集合{3,4,5}和{3,5,4}算作同一个集合。
westSets = set()
#使用 update()增加元素
westSets.update(['唐僧', '孙悟空', '猪八戒', '沙和尚', '白龙马', '沙和尚', '白龙马'])
print('取经队伍队员集合是:', westSets)
#使用discard删除
westSets.discard('唐僧')
print('现在取经队伍队员集合是:', westSets)
#使用in查找
bFind1 = '孙悟空' in westSets
bFind2 = '唐僧' in westSets
print('有孙悟空:', bFind1)
print('有唐僧:', bFind2)
#修改 先删除后修改
westSets.discard('白龙马')
westSets.update('黑风熊')
print(westSets)
westSets.update(['黑风熊'])
print(westSets)

输出如下:

取经队伍队员集合是: {'唐僧', '沙和尚', '白龙马', '孙悟空', '猪八戒'}
现在取经队伍队员集合是: {'沙和尚', '白龙马', '孙悟空', '猪八戒'}
有孙悟空: True
有唐僧: False
{'沙和尚', '风', '孙悟空', '熊', '猪八戒', '黑'}
{'沙和尚', '风', '孙悟空', '黑风熊', '熊', '猪八戒', '黑'}

添加集合元素是,不能缺少 [],否则就是单一添加。


3.4 容器之字典 {:,:}

字典是存储映射关系的容器。键值对中的 key 是唯一的,valve 是不可变的,数值,字符串或元组。

#创建字典
westDic={'001':['唐僧',26,'领导','啰嗦不负责任','功德神'],
         '002':['孙悟空',600,'核心骨干','敢干猴急','斗战胜佛'],
         '003':['猪八戒',500,'秘书','贪吃好色','净坛使者'],
         '004':['沙和尚',500,'干事','佛性淡定','金身罗汉']
        }
print('取经人:', westDic)
#增加
westDic['005'] = ['白龙马',300,'官二代','度日子','八部天龙']
print('关系户:', westDic)
#删除
del westDic['003']
print('精简机构:', westDic)
#查询
valueList = westDic['001']
print('领导是:',valueList)
#修改,和增加字典元素一样
print('修改前,第二名信息:',westDic['002'])
westDic['002']=['孙悟空',600,'宇宙第一骨干','敢干猴急','斗战胜佛']
print('修改后,第二名信息:', westDic['002'])

输出如下:

取经人: {'001': ['唐僧', 26, '领导', '啰嗦不负责任', '功德神'], '002': ['孙悟空', 600, '核心骨干', '敢干猴急', '斗战胜佛'], '003': ['猪八戒', 500, '秘书', '贪吃好色', '净坛使者'], '004': ['沙和尚', 500, '干事', '佛性淡定', '金身罗汉']}
关系户: {'001': ['唐僧', 26, '领导', '啰嗦不负责任', '功德神'], '002': ['孙悟空', 600, '核心骨干', '敢干猴急', '斗战胜佛'], '003': ['猪八戒', 500, '秘书', '贪吃好色', '净坛使者'], '004': ['沙和尚', 500, '干事', '佛性淡定', '金身罗汉'], '005': ['白龙马', 300, '官二代', '度日子', '八部天龙']}
精简机构: {'001': ['唐僧', 26, '领导', '啰嗦不负责任', '功德神'], '002': ['孙悟空', 600, '核心骨干', '敢干猴急', '斗战胜佛'], '004': ['沙和尚', 500, '干事', '佛性淡定', '金身罗汉'], '005': ['白龙马', 300, '官二代', '度日子', '八部天龙']}
领导是: ['唐僧', 26, '领导', '啰嗦不负责任', '功德神']
修改前,第二名信息: ['孙悟空', 600, '核心骨干', '敢干猴急', '斗战胜佛']
修改后,第二名信息: ['孙悟空', 600, '宇宙第一骨干', '敢干猴急', '斗战胜佛']

字典每个 value 都是一个列表。


四、Bool(布尔)

True、False 一般和条件判断一起,是区分大小写的。

if True:
    print("打印")
if False:
    print("不打印") 

输出如下:

打印

五、None(空值)

数据处理时,python 中是 None,对空值需要特殊处理。


六、Python数据类型转换

有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。

以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。

int(x [,base]) 将x转换为一个整数
long(x [,base] ) 将x转换为一个长整数
float(x) 将x转换到一个浮点数
complex(real [,imag]) 创建一个复数
str(x)] 将对象 x 转换为字符串
repr(x) 将对象 x 转换为表达式字符串
eval(str)] 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s)] 将序列 s 转换为一个元组
list(s) 将序列 s 转换为一个列表
set(s) 转换为可变集合
dict(d) 创建一个字典。d 必须是一个序列 (key,value)元组。
frozenset(s) 转换为不可变集合
chr(x) 将一个整数转换为一个字符
unichr(x) 将一个整数转换为Unicode字符
ord(x) 将一个字符转换为它的整数值
hex(x) 将一个整数转换为一个十六进制字符串
oct(x) 将一个整数转换为一个八进制字符串

参考:

傅少大数据专栏


原文地址:https://www.cnblogs.com/linuxAndMcu/p/12341851.html