1.数据类型

1.1整型(int)
在 Python 中,整数包括正整数、0 和负整数
整形:0,1,-1 没有长短整形之分
python的整型支持存储各种整数值,无论多大或者多小,Python 都能轻松处理

(eg: #一个*表示乘法 两个*表示次方
a = -2**64
print(a))
(eg:
a = 9999999999999999999999999999999
print(a)
print(type(a)
)

1.2浮点型
浮点型数值用于保存带小数点的数值,Python 的浮点数有两种表示形式:

  • 十进制形式:这种形式就是平常简单的浮点数,例如 5.12、512.0、0.512。浮点数必须包含一个小数点,否则会被当成整数类型处理。
  • 科学计数形式:例如 5.12e2(即 5.12×10^2)、5.12E2(也是 5.12 ×10^2)。

只有浮点型数值才可以使用科学计数形式表示

(eg:
c = 3.14
d = 3.14e2 # 表示3.14x10**2
f = 314e2
g = 3.0
print(c)
print(type(c))
print(d)
print(type(d))
print(f)
print(type(f))
print(g)
print(type(g))
)
这些的字符类型都为浮点型float

1.3 复数
(了解)
复数是由实数部分和虚数部分组成,一般的形式为x+yj,其中的X 是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。

1.4 布尔值
真或者假 0(假),1(真)
1或者0

(eg:
a = 1
if a:  #非零则输出真print('真')
b = 0
print(type(b))
if b: #非零则输出真print('真')
else: #否则输出假print('假'))

1.5 字符串
在python中,用引号引起来的都是字符串,其中的引号可以是单引号,也可以是双引号
符串或串(String)是由数字、字母、下划线组成的一串字符。
定义变量字符串 每一个字符都有下标

eg(
p  y  t  h  o  n
0  1  2  3  4  5   从左往右 0开始
-6 -5 -4 -3 -2 -1  从右往左 -1开始
)

字符串切片 a[t:w:s] 头:尾:步长 “取头不娶尾”

字符串的操作

字符串切片
a = 'python'
print(a[头:尾:步长])  "取头不娶尾"
print(a[1:5])  结果为 ytho
print(a[2:5])   结果为 tho
print(a[:5])  结果为 pytho 不指定从下标零开始
print(a[0:5:2])  结果为 pto 步长为2字符串拼接
a = 'python'
b = 123
print(a+str(b))  因为字符类型不同所以要转换字符类型
结果为python123遍历字符串
用for循环
a = 'python'
for i in a:print(i)c
统计字符串中有几个n
print('abcaa'.count('a'))    结果为 3
打印字符串长度到9个字符并居中 其余空余字符补为"-"
print('linux'.center(9,'-'))   结果为 --linux--
做首字母大写
print('linux'.capitalize())  结果为 Linuxe
全部大写
print('linux'.encode())  结果为 LINUX
将字符串类型变为b' '
print('linux'.encode())  结果为 b'linux'name = "{name} is a boy,\the likes {yunwei}"
表示table空的数为8
print(name)
print(name.expandtabs(tabsize=8))结果:{name} is a boy,   he likes {yunwei}{name} is a boy,        he likes {yunwei}
格式化输出
print(name.format(name="leilei",yunwei="linux"))结果  leilei is a boy,  he likes linu
字典的方式格式输出
print(name.format_map({"name":"leilei","yunwei":"linux"}))结果  leilei is a boy,  he likes linu
判断字符串以某个或某些字母结尾
a = 'python'
print(a.endswith("n"))
print(a.endswith("on"))
print(a.endswith("hon"))  结果都为 Truef
找字符串中n的下标索引
c = 'linux'
print(c.find('n'))  结果为 2i
c = 'linux'
判断数据类型是否为整数型
print(c.isdigit())  结果为 False
打印出字符串中n的下标索引
print(c.index('n')) 结果为 2
判断首字符是否为大写
print(c.istitle()) 结果为 False
设备文件,终端(tty)文件
print('adsa'.isprintable())   结果为 True
判断是否为小写
print('AAA'.islower())   结果为 False
判断是不是合法的标识符 数字 字母 下划线 数字不能开头
print('and'.isidentifier()) 结果为 True
判断是否为十进制
print('1F'.isdecimal())  结果为 False
判断是否字母
print('abce'.isalpha()) 结果为  True
判断是否为数字字母
print('abc12_e'.isalnum())  结果为  False
判断是否为数字
print('1101e'.isnumeric())  结果为  False定义替换的方法 起名为b 后面的替换掉前面的
b = str.maketrans("abcdefg","1234567")
引用b方法
print('abcf'.translate(b))  结果为 1236r
替换字母 后面的将前面的替换了
print('ad'.replace('a','b'))  结果为 bd
print('ad'.replace('a','A))  结果为 Ad
以b为分割 以列表方式打印
print('abcdefgb1'.rsplit('b'))  结果为 ['a', 'cdefg', '1']
以+为分割 以列表方式打印
print('1+2+3'.rsplit('+')) 结果为 ['1', '2', '3']s
判断是否以某个或某些字母开头
print('www.baidu.com'.startswith('ww'))  结果为 True'
以列表的形式打印
print('we like linux'.splitlines()) 结果为 ['we like linux']
以列表的形式打印 一行就是列表的一个元素
print('we \n like linux'.splitlines())  结果为 ['we','like linux']
大小写互相转化 大变小 小变大
print('aBc'.swapcase())  结果为 AbCz
打印字符串到10个字符 前面的用0补充
print('dads'.zfill(10)) 结果为 000000dads

2.列表 :有序

List(列表) 是 Python 中使用最频繁的数据类型。
列表可以完成大多数集合类的数据结构实现。它支持字符,数字,字符串甚至可以包含列表(即嵌套)。
列表用 []标识,是 python 最通用的复合数据类型。
列表中值的切割也可以用到变量 [头下标:尾下标] ,就可以截取相应的列表,从左到右索引默认 0 开始,从右到左索引默认 -1 开始,下标可以为空表示取到头或尾。

2.1 加号 + 是列表连接运算符,星号 * 是重复操作。

(eg:
list = ['linux',123,True,111,'leilei']
list1 = ['python',456,False,222,'gaohaha']
print(list+list1)
print(list*2)
结果为:
['linux', 123, True, 111, 'leilei', 'python', 456, False, 222, 'gaohaha']
['linux', 123, True, 111, 'leilei', 'linux', 123, True, 111, 'leilei']
)

2.2 列表的增、删、改、查
1)增
在列表末尾添加值

(eg:
list = ['linux',123,True,111,'leilei']
list.append('gaohaha')
print(list)
结果为  ['linux', 123, True, 111, 'leilei', 'gaohaha']
)

在列表中间插入值

(eg:
list1 = ['python',456,False,222,'gaohaha']
list1.insert((2),'leilei') #这个数字就是你要插入位置的索引下标前
print(list1)
结果为  ['python', 456, 'leilei', False, 222, 'gaohaha']
如果要插入的元素的索引不知道 也可以获取
list1.insert(list1.index(456),'leilei1')
print(list1)
结果为
['python', 'leilei1', 456, 'leilei', False, 222, 'gaohaha']
)

2 ) 删
使用del语句删除 整个列表

(eg:
list1 = ['python',456,False,222,'gaohaha']
del.list1
print(list1)
结果为
这个时候就会报错 说list1列表不存在
)

使用pop()方法删除 默认删除最后一个元素值

(eg:
list = ['linux',123,True,111,'leilei']
list.pop() #删除字段
print(list)
结果为  ['linux', 123, True, 111]
也可以指定字段删除
list.pop(2) #删除指定的索引下标字段
print(list)
结果为  ['linux', 123, 111]
)

使用remove()方法移除字段

(eg:
list = ['linux',123,True,111,'leilei']
list.remove(' leilei')
print(list) #移除字段
结果为  ['linux', 123, True, 111]
)

3)改
元素反着打印

list = ['linux',123,True,111,'leilei']
list.reverse()
print(list)
结果为 ['leilei', 111, True, 123, 'linux']

4)查
列表的切片和字符串一样的方式

(eg:
list = ['linux',123,True,111,'leilei']
print(list[:2])
print(list[1:5])
print(list[0:5:2])
结果为:
['linux', 123]
[123, True, 111, 'leilei']
['linux', True, 'leilei']
)

2.3对列表元素的排序
排序按照ACSII码的顺序:

(eg:
name = ['linux','True','leili','leilei']
name1 = [113,112,133,104]
name.sort() #排序
print(name)
name1.sort()
print(name1)
结果为
[104, 112, 113, 133] 数字默认为从小到大排序
[111, True, 123, 'linux']
)

2.4列表的结合

(eg:
names = ["zhangsan","lisi","wanger","xx","lisi"]
names2 = ["dasfh","gsfs","","bcvbfj"]
names.extend(names2) #列表结合
print(names)
print(names2)
结果为
['zhangsan', 'lisi', 'wanger', 'xx', 'lisi', 'dasfh', 'gsfs', '', 'bcvbfj']
['dasfh', 'gsfs', '', 'bcvbfj']
)

2.5列表的遍历

(eg:
list = ['linux',123,True,111,'leilei']
for i in list:print(i)
结果为
linux
123
True
111
leilei
)

3.字典 :无序

字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象集合,字典是无序的对象集合。
两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
字典用"{ }"标识。字典由索引(key)和它对应的值value组成。
3.1 字典的 增 删 改 查
1)增 改
有则添加 无则修改

test = {'linux':['leilei','dongyu','quanquan'],'java':'leilei1'}
test['php'] = 'zhangsan'
print(test)
test['java'] = 'lisi'
print(test)
结果为
{'linux': ['leilei', 'dongyu', 'quanquan'], 'java': 'leilei1', 'php': 'zhangsan'}
{'linux': ['leilei', 'dongyu', 'quanquan'], 'java': 'lisi', 'php': 'zhangsan'}

  1. 根据键值删除值
    pop()方法删除元素
test = {'linux':['leilei','dongyu','quanquan'],'java':'leilei1'}
test.pop('java') #根据键值删除值
print(test)
结果为
{'linux': ['leilei', 'dongyu', 'quanquan']}

popitem()方法随机删除元素

test.popitem()
print(test)
结果不唯一

del语句删除字典

del.test
print(test)
结果会报错说字典test不存在

3)查
以元组的方式打印

print(test.items()) #以元组的方式打印
print(test)
结果为
dict_items([('linux', ['leilei', 'dongyu', 'quanquan']), ('java', 'leilei1')])
{'linux': ['leilei', 'dongyu', 'quanquan'], 'java': 'leilei1'}

打印键值

print(test.keys())
结果为 dict_keys(['linux', 'java'])

获取指定键值的值

print(test.get('linux'))
结果为
['leilei', 'dongyu', 'quanquan']

以元组的形式获取值

print(test.values())
结果为
dict_values([['leilei', 'dongyu', 'quanquan'], 'leilei1'])

3.2字典的嵌套
例子 三级字典

test1 = {'linux_base':{'安全管理':{'firewalld':['stop','start','restart'],'selinux':['stop','start','restart']},'用户管理':{'root':['del','add'],'admin':['del','add']}},'linux_auto':{'ansible_auto':{'ansible':['start','stop','restart']},'zabbix_auto':{'zabbix':['start','stop','restart']}}
}
结果为
{'linux_base': {'安全管理': {'firewalld': ['stop', 'start', 'restart'], 'selinux': ['stop', 'start', 'restart']}, '用户管理': {'root': ['del', 'add'], 'admin': ['del', 'add']}}, 'linux_auto': {'ansible_auto': {'ansible': ['start', 'stop', 'restart']}, 'zabbix_auto': {'zabbix': ['start', 'stop', 'restart']}}}

作业脚本


num1 = int(input('请输入您的预算金额:'))
info = '''
------------sp list------------
1. '饮料':{'冰红茶':'3','红牛':{'红牛罐装':'3','红牛瓶装':'5'}}
2. '主食':{'面':'8','米饭':{'炒米饭':'8','盖浇饭':'7'}}
3. '菜':{'红烧茄子':'10','炒土豆丝':'8'}
4. '啤酒':{'青岛':'5','雪花':'4'}
'''
print(info)
dict = {'饮料':{'冰红茶':'3','红牛':{'红牛罐装':'3','红牛瓶装':'5'}},'主食':{'面':'8','米饭':{'炒米饭':'8','盖浇饭':'7'}},'菜':{'红烧茄子':'10','炒土豆丝':'8'},'啤酒':{'青岛':'5','雪花':'4'}
}
# shengyu = num1-int(dict['饮料']['红牛']['红牛罐装'])
# print('您的余额还剩:%d'%shengyu)
a = []
while True:sp = input('请输入您要选择的商品类型:')if sp == '饮料':yl = input('请输入您要选择的饮料:')if yl == '红牛':hn = input('请输入红牛的种类:')num1 = num1-int(dict[sp][yl][hn])a.append(hn)if hn == '退出':print('您购买的商品有{}'.format(a))breakelif yl == '退出':print('您购买的商品有{}'.format(a))breakelse:num1 = num1 - int(dict[sp][yl])a.append(yl)elif sp == '主食':zs = input('请输入您要选择的主食:')if zs == '米饭':mf = input('请输入您选择米饭种类:')num1 = num1-int(dict[sp][zs][mf])a.append(mf)if mf == '退出':print('您购买的商品有{}'.format(a))breakelif zs == '退出':print('您购买的商品有{}'.format(a))breakelse:num1 = num1-int(dict[sp][zs])a.append(zs)elif sp == '菜':c = input('请输入你选择的菜:')num1 = num1-int(dict[sp][c])a.append(c)if c == '退出':print('您购买的商品有{}'.format(a))breakelif sp == '啤酒':pj = input('请输入您选择的酒:')num1 = num1-int(dict[sp][pj])a.append(pj)if pj == '退出':print('您购买的商品有{}'.format(a))breakelif sp == '退出':print('您购买的商品有{}'.format(a))breakelse:print('请你选择正确的商品类型')
if num1 <= 0:print('您的余额不足,不能在继续购买,请输入大一点的预算')
else:while True:b = input('确认是否购买:')if b == 'y':print('您的剩余余额为:%d'%num1)breakelse:print('请输入y购买')

python数据类型、变量、列表、字典相关推荐

  1. CrazyWing:Python自动化运维开发实战 九、Python数据类型之列表

    导语 序列: 序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推,Python已经内置确定序列的长度以及确定最大和最小 ...

  2. python元组和列表字典_Python【列表 字典 元组】

    列表 列表用中括号[ ]把各种数据框起来,每一个数据叫作"元素". 每个元素之间都要用英文逗号隔开 各种类型的数据(整数/浮点数/字符串) -------------------- ...

  3. Python数据类型、列表、元组、字典、集合增删改查(切片)

    Python基础(数据类型) 有问题可以➕QQ:1606269318来交流沟通. 以下全是干货,对刚学Python是挺有帮助的. 1.Numbers(数字): 1)整数(int) 通常被称为是整型或整 ...

  4. 支持字典_【多测师小课堂】python数据类型之列表、字典、元祖、字符串

    1.字符串操作 1.1. 字符串常用方法 1.2.字符串常用函数 1.capitalize() 首字母变大写 2.endswith/startswith()是否 x结束/开始 3.find()检测x是 ...

  5. mysql翻译逗号隔开的字典_【多测师小课堂】python数据类型之列表、字典、元祖、字符串...

    1.字符串操作 1.1. 字符串常用方法 1.2.字符串常用函数 1.capitalize() 首字母变大写 2.endswith/startswith()是否 x结束/开始 3.find()检测x是 ...

  6. Python数据类型中的字典-创建和基本操作

    Python当中字典的创建和基本操作 本章 含有 字典定义 及操作 l  字典定义 l  基本操作 l  常用方法 列表也是常用的数据类型-列表是最灵活的一个,甚至可以当成一个小的数据库,用来存储数据 ...

  7. python数据类型转换方法列表

    阿里云大学人工智能学前小测验-Python测试 5.关于数据类型转换方法,错误的是 A. int(x) 将x转换为一个整数 B. float(x) 将x转换为一个浮点数 C. string(x) 将x ...

  8. Python学习 数据结构列表字典元组

    本章节我们主要结合前面所学的知识点来介绍Python数据结构. 1.元组结构(Tuple) 元组由不同的元素组成,每个元素可以存储不同类型的数据,如字符串.数字甚至元组.元组创建后不能修改. 元组通常 ...

  9. Python数据类型之列表操作方法

    列表是python中的基础数据类型之一,其他语言中也有类似于列表的数据类型,比如js中叫数组,他是以[ ]括起来,每个元素以逗号隔开,而且他里面可以存放各种数据类型,除此之外还可以存储大量数据,32位 ...

  10. 初学__Python——Python数据类型之列表和元组

    目录 一.创建和操作列表 二.创建和操作元组 一.创建和操作列表 列表是以方括号 "[]" 包围的数据集合,不同成员间以 "," (半角符号)分隔. 列表中可以 ...

最新文章

  1. cin,getline用法和不同
  2. 用计算机写作文的好处,《用计算机写作文》教案
  3. IOS给任意UIView截屏
  4. xampp php连接mysql数据库_关于PHP xampp连接数据库之后查询失败,数据库连接成功,表中也有数据...
  5. linux查看文件大小
  6. [hackinglab][CTF][注入关][2020] hackinglab 注入关 writeup
  7. Django-ORM数据库操作
  8. JimuReport积木报表——分组报表怎么做
  9. 深入以太坊智能合约ABI
  10. 在Spark Scala/Java应用中调用Python脚本,会么?
  11. 数组不能将数值传给int_[day day go]数组
  12. 教你如何使用for循环来做一些小图案
  13. HDMI热插拔检测原理
  14. js 连mysql 延后_javascript – 异步并等待节点js中的MySQL调用
  15. 多媒体技术教程——信噪比
  16. cad解除块的快捷命令_47个快捷键50个CAD技巧,快收藏起来
  17. Newton-Raphson算法
  18. Eclipse(Windows)下第一个动态Java Web项目(Tomcat部署)
  19. EVE在Win10上安装
  20. javaWeb与Spring学习小结

热门文章

  1. 真正的聪明人,是如何下注的?
  2. springboot 集成hibernate 集成struts2
  3. 自带超多工具,好用又免费,这3款手机浏览器你用过了吗
  4. 黑马程序员_Java基础[4]_if、switch、while
  5. 开机黑屏显示html,如果一开机显示器就黑屏,故障原因可能是()。 - 问答库...
  6. 王权富贵:给Linux系统装配机器学习需要的软件
  7. android圆形图片的一种优化方案(可以显示网络图片),圆形图案显示平滑的优化处理方法、系统及智能设备专利_专利查询 - 天眼查...
  8. PTA-MOOC《Python程序设计浙江大学》拼题A题目集第二章编程题
  9. 企业如何快速地制作出电子产品宣传册?
  10. 如何使用Principle for Mac制作卡片左右划动动效