Python运维开发之路《数据类型》
一. python数据类型
python的五大基本数据类型,数字、字符串、列表、元组、字典;其他数据类型,类型type、Null、文件、集合、函数/方法、类、模块。
1.数字
1 ①整型
2 十进制转八进制
3 oct(10)
4 十进制转十六进制
5 hex(10)
6 ②长整型(目前python3里已经取消)
7 >>> type(2**31)
8 <type 'long'>
9 >>> type(2**30)
10 <type 'int'>
11 ③布尔
12 >>> bool(0)
13 False
14 >>> bool(1) #非零数字自带的布尔值都是True
15 True
16 >>> bool("hello") #非空的字符串布尔值都是True
17 True
18 ④浮点
19 浮点数是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。
20 ⑤复数
21 Python支持复数,复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示,复数的实部a和虚部b都是浮点型。
2. 字符串
1 msg = 'hello world' #定义变量msg
2
3 >>> print(msg.count('l',4,10)) #统计次数;计算字符串出现的次数,顾头不顾尾
4 1
5
6 >>> print(msg.capitalize) #每个单词首字母大写
7 Hello world
8
9 >>> print(msg.center(50,'*')) #用50个字符打印msg,多余部分用*表示
10 *******************hello world********************
11
12 >>> print(msg.endswith('d')) #查看msg变量是否以d结尾
13 True
14
15 >>> print(msg.expandtabs(tabsize=20)) #tab键用20个字符表示
16
17 >>> print('{} {}'.format('name','agr')) #赋值给{},必须按照位置一对一赋值
18 name agr
19 print('{0} {1} {0}'.format('name','agr'))
20 name agr
21
22 >>> print(msg.index('l')) #查看索引位如果查不到就报错
23 2
24
25 >>> print(msg.find('b')) #查找索引位如果查不到用-1表示
26 -1
27
28 >>> print(msg.isalnum()) #字母和数字都行
29 False
30
31 >>> print(msg.isalpha()) #只能是字母
32 False
33
34 >>> print(msg.isdecimal()) #是否是十进制
35 False
36
37 >>> print(msg.isdigit()) #是否是整型数字
38 False
39
40 >>> print(msg.isnumeric()) #是否是数字
41 False
42
43 >>> print(msg.isidentifier()) #是否一个单词包含内置关键字
44 False
45
46 >>> print(msg.islower()) #是否是小写(全部是小写)
47 True
48
49 >>> print(msg.isspace()) #是否是空格
50 False
51
52 >>> print(msg.istitle()) #是否是标题(一个单词只有首字母大写)
53 False
54
55 >>> print(msg.isupper()) #是否是大写
56 False
57
58 >>> print(msg.ljust(50,'*')) #字符串内容左对齐
59 hello*********************************************
60
61 >>> print(msg.rjust(50,'#')) #字符串内容右对齐
62 #############################################hello
63
64 >>> msg = 'HELLO WORLD'
65 >>> print(msg.lower()) #将大写转换成小写
66 hello world
67
68 >>> msg = 'hello world'
69 >>> print(msg.upper()) #将小写转换成大写
70 HELLO WORLD
71
72 >>> msg = '\tHello World'
73 >>> print(msg)
74 Hello World
75 >>> print(msg.lstrip()) #去掉左边空格
76 Hello World
77
78 >>> print(msg.rstrip()) #去掉右边空格
79 Hello World
80
81 >>> print(msg.zfill(20)) #右对齐,不够的位数0填充,可指定宽度
82 000000000hello world
3. 列表
1 增加
2 names.append('zhangzhenxing') #追加
3 names.insert(2,'liusijia') #插入
4
5 删除
6 names.remove('zhangzhenxing') #删除值
7 del names[3] #通过下标删除
8 names.pop[3] #默认删除最后一个,可以通过下标删除
9
10 修改
11 names[2] = '王旭' #直接修改下标
12
13 查询
14 print(names[2]) #下标查看
15 print(names[0::2])
16 print(names[-3:])
17 print(names[:3])
18 names.index('wangxu') #取这个元素的下标
19
20 统计
21 count print('count',names.count('wudonghang')) #统计出现次数
22 clear names.clear #清空列表
23 extend names.extend(n2) #合并列表
24 reverse names.reverse() #反转
25 sort names.sort() #通过ascii码表排序
26 copy names.copy() #拷贝列表
27
二、购物车程序
1. 流程图

2.程序
1 commodity_list = [['Iphone',5088],['Mac Pro',12888],['Bike',2088],['Starbucks Coffee',33],['GoogleSRE Book',90]]
2 shopping_cart = []
3
4 salary = input('>>>>>请输入薪水:')
5 if salary.isdigit():
6 salary = int(salary)
7 while True:
8 for index,list in enumerate(commodity_list):
9 print(index,list) #打印列表元素,并标识下标
10 product_id = input('>>>>>请输入商品编号(q退出):') #输入元素下标
11 if product_id.isdigit(): #判断是否为数字,true继续,false提示输入错误
12 product_id = int(product_id)
13 if product_id >= 0 and len(commodity_list):
14 commodity = commodity_list[product_id]
15 if commodity[1] <= salary:
16 shopping_cart.append(commodity)
17 salary -= commodity[1]
18 print('您好!已将商品\033[31;1m%s\033[0m添加到购物车,已付款\033[31;1m%s\033[0mRMB,账户余额\033[31;1m%s\033[0mRMB!'%(commodity,commodity[1],salary))
19 else:
20 print('您好!您的余额[%sRMB]不足以购买此商品!'%salary)
21 elif product_id == 'q':
22 print('----------shopping list-----------')
23 shopping_cart2 = []
24 for i in shopping_cart: #去重,追加到shopping_cart2
25 if not i in shopping_cart2:
26 shopping_cart2.append(i)
27 for index,j in enumerate(shopping_cart2):
28 sum_list = j[1] * shopping_cart.count(j) #单价乘以数量
29 print(index,j,'*',shopping_cart.count(j),'=',sum_list)
30 exit(print('\n谢谢光临!您的余额剩余:\033[31;1m%s RMB\033[0m'%salary,'\n---------------END----------------'))
31 else:
32 print("错误!您输入的商品编码不存在!")
33 else:
34 print('你是猴子请来的都比么,想打劫啊!!!')
三、三级菜单
1.程序
1 date = {
2 '北京':{
3 '昌平':{
4 '沙河':['oldboy','阿泰包子'],
5 '天通苑':['链家地产','我爱我家']
6 },
7 '朝阳':{
8 '双井':['富力城','UME'],
9 '三里屯':['阿迪达斯','优衣库']
10 },
11 '海淀':{
12 '中关村':['E世界','新中关'],
13 '西二旗':['百度大厦','神码大厦']
14 },
15 },
16 '河北':{
17 '石家庄':{
18 '新华区':['革新街道','新华路街道'],
19 '桥西区':['东里街道','中山路街道']
20 },
21 '廊坊':{
22 '大厂':['大厂镇','夏垫镇'],
23 '香河':['淑阳镇','安平镇']
24 },
25 '唐山':{
26 '路南区':['友谊街道','广场街道'],
27 '路北区':['翔云道街道','光明街道']
28 },
29 },
30 '河南':{
31 '郑州':{
32 '金水区':['文化路街道','花园路街道'],
33 '中原区':['林山寨街道','建设路街道']
34 },
35 '洛阳':{
36 '西工区':['王城路街道','金谷园街道'],
37 '老城区':['西关街道办事处','东南隅街道办事处']
38 },
39 '信阳':{
40 '浉河区':['老城街道','民权街道'],
41 '平桥区':['羊山街道','前进街道']
42 },
43 },
44 }
45
46
47 while True:
48 for j in date:
49 print(j)
50 provinces = input('请选择要进入的省份>>>>>:')
51 if provinces in date:
52 while True:
53 for j1 in date[provinces]:
54 print('可选择的城市如下:',j1)
55 city = input('请选择进入的城市(b返回上一层,q退出)>>>>>:')
56 if city in date[provinces]:
57 while True:
58 for j2 in date[provinces][city]:
59 print('可选择城区如下:',j2)
60 district = input('请选择进入的城区(b返回上一层,q退出)>>>>>:')
61 if district in date[provinces][city]:
62 for j3 in date[provinces][city][district]:
63 print('街道或标志性企业:',j3)
64 street = input('最后一层展示,请按b返回,q退出>>>>>:')
65 if street == 'b':
66 break
67 elif street == 'q':
68 exit('菜单栏展示结束!')
69 if street == 'b':
70 break
71 elif street == 'q':
72 exit('菜单栏展示结束!')
73 if district == 'b':
74 break
75 elif district == 'q':
76 exit('菜单栏展示结束!')
77 if city == 'b':
78 break
79 elif city == 'q':
80 exit('菜单栏展示结束!')
81 if provinces == 'b':
82 print('消遣哥呢?玩一把吧~~~')
83 elif provinces == 'q':
84 exit('看看就走了啊!无趣~~~')
1 menu = {
2 '北京':{
3 '海淀':{
4 '五道口':{
5 'soho':{},
6 '网易':{},
7 'google':{}
8 },
9 '中关村':{
10 '爱奇艺':{},
11 '汽车之家':{},
12 'youku':{},
13 },
14 '上地':{
15 '百度':{},
16 },
17 },
18 '昌平':{
19 '沙河':{
20 '老男孩':{},
21 '北航':{},
22 },
23 '天通苑':{},
24 '回龙观':{},
25 },
26 '朝阳':{},
27 '东城':{},
28 },
29 '上海':{
30 '闵行':{
31 "人民广场":{
32 '炸鸡店':{}
33 }
34 },
35 '闸北':{
36 '火车战':{
37 '携程':{}
38 }
39 },
40 '浦东':{},
41 },
42 '山东':{},
43 }
44
45 current_levl = menu
46 list_levl = []
47
48 while True:
49 for key in current_levl:
50 print(key)
51 choies = input('要进入的层级:').strip()
52 if len(choies) == 0:continue
53 if choies == 'b':
54 if len(list_levl) == 0 :break
55 current_levl = list_levl[-1]
56 list_levl.pop()
57 if choies not in current_levl:continue
58 list_levl.append(current_levl)
59 current_levl = current_levl[choies]
Python运维开发之路《数据类型》的更多相关文章
- python运维开发之路第一天
一.python安装及环境变量配置 1.windows7安装python 1)下载地址:https://www.python.org/downloads/windows/ 如下图: 注意:下载,用代理 ...
- Python运维开发基础09-函数基础【转】
上节作业回顾 #!/usr/bin/env python3 # -*- coding:utf-8 -*- # author:Mr.chen # 实现简单的shell命令sed的替换功能 import ...
- Python运维开发基础08-文件基础【转】
一,文件的其他打开模式 "+"表示可以同时读写某个文件: r+,可读写文件(可读:可写:可追加) w+,写读(不常用) a+,同a(不常用 "U"表示在读取时, ...
- Python运维开发基础04-语法基础【转】
上节作业回顾(讲解+温习90分钟) #!/usr/bin/env python3 # -*- coding:utf-8 -*- # author:Mr.chen # 仅用列表+循环实现“简单的购物车程 ...
- Python运维开发基础01-语法基础【转】
开篇导语 整个Python运维开发教学采用的是最新的3.5.2版,当遇到2.x和3.x版本的不同点时,会采取演示的方式,让同学们了解. 教学预计分为四大部分,Python开发基础,Python开发进阶 ...
- 重磅|0元学 Python运维开发,别再错过了
51reboot 运维开发又双叒叕的搞活动了,鉴于之前 51reboot 的活动反馈,每次活动结束后(或者已经结束了很长时间)还有人在问活动的事情.这一次小编先声明一下真的不想在此次活动结束后再听到类 ...
- Python运维开发基础01-语法基础
标签(空格分隔): Mr.chen之Python3.0执教笔记(QQ:215379068) --仅供北大青鸟内部学习交流使用 开发不是看出来的,开发一定是练出来的: 想学好开发,没有捷径可走,只有不断 ...
- Python运维开发基础10-函数基础【转】
一,函数的非固定参数 1.1 默认参数 在定义形参的时候,提前给形参赋一个固定的值. #代码演示: def test(x,y=2): #形参里有一个默认参数 print (x) print (y) t ...
- Python运维开发基础07-文件基础【转】
一,文件的基础操作 对文件操作的流程 [x] :打开文件,得到文件句柄并赋值给一个变量 [x] :通过句柄对文件进行操作 [x] :关闭文件 创建初始操作模板文件 [root@localhost sc ...
- Python运维开发基础06-语法基础【转】
上节作业回顾 (讲解+温习120分钟) #!/usr/bin/env python3 # -*- coding:utf-8 -*- # author:Mr.chen # 添加商家入口和用户入口并实现物 ...
随机推荐
- 性能最快的代码分析工具,Ruff 正在席卷 Python 圈!
几天前,Python 开源社区又出了一个不小的新闻:HTTPX 和 Starlette 在同一天将在用的代码分析工具(flake8.autoflake 和 isort)统一替换成了 Ruff. HTT ...
- MySQL(十三)MySQL性能分析工具:慢查询日志与PROFILE查询成本
性能分析工具SLOW QUERY LOG.PROFILE的使用 数据库调优的目标就是响应速度更快,吞吐量更大.利用宏观的监控工具和微观的日志分析可以帮助我们找到调优的思路和方式. 数据库调优的步骤 ...
- mysql数据库常见优化方法
1,创建适当的索引(主键索引.唯一索引.普通索引.全文索引.空间索引). 2,对sql语句进行优化--->慢查询(explain). 3,使用分表技术(水平分表,垂直分表),分区技术. 4,读写 ...
- 我的第一个项目(十二) :分数和生命值的更新(后端增删查改的"改")
好家伙,写后端,这多是一件美逝. 关于这个项目的代码前面的博客有写 我的第一个独立项目 - 随笔分类 - 养肥胖虎 - 博客园 (cnblogs.com) 现在,我们登陆进去了,我开始和敌人战斗,诶 ...
- Redis缓存穿透、击穿、雪崩
文章目录 缓存穿透 缓存雪崩 缓存击穿 代码实战部分 缓存击穿实战代码封装 缓存穿透解决 Redis目前是非常流行的缓存数据库,缓存穿透.缓存击穿.缓存雪崩是常见的面试题,也是非常重要的问题. 缓存穿 ...
- 微服务 - Nginx网关 · 进程机制 · 限流熔断 · 性能优化 · 动态负载 · 高可用
系列目录: 微服务 - 概念 · 应用 · 通讯 · 授权 · 跨域 · 限流 微服务 - 集群化 · 服务注册 · 健康检测 · 服务发现 · 负载均衡 微服务 - Redis缓存 · 数据结构 · ...
- 2023-05-04:用go语言重写ffmpeg的scaling_video.c示例,用于实现视频缩放(Scaling)功能。
2023-05-04:用go语言重写ffmpeg的scaling_video.c示例,用于实现视频缩放(Scaling)功能. 答案2023-05-04: 这段代码实现了使用 libswscale 库 ...
- nuxt下运行项目时内存溢出(out of memory)的一种情况
话不多说直接上代码: 如图,点红点的三行引入了一个组件,内容是同意注册协议的弹窗.但是在run dev的时候提示说内存溢出了(out of memory)...经过多方排查,定位到这个组件,警察叔叔就 ...
- 2022-08-27:以下go语言代码输出什么?A:[0];B:panic;C:7;D:不清楚。 package main import ( “fmt“ ) func main() { a
2022-08-27:以下go语言代码输出什么?A:[0]:B:panic:C:7:D:不清楚. package main import ( "fmt" ) func main() ...
- 2021-05-27:定义何为step sum?比如680,680+68+6=754,680的step sum叫754。
2021-05-27:定义何为step sum?比如680,680+68+6=754,680的step sum叫754.给定一个整数num,判断它是不是某个数的step sum? 福大大 答案2021 ...