2018-12-29

一、python数据类型:

  1.数字   int(整形) float(浮点型) complex(复数型)

  2.布尔值(bool)       真或假 True or False

  3.字符串(str)  

  4.byte型

  5.列表[list]

  6.元组(tuple)

  7.字典(dict)

  8.集合(set)

二、二进制、八进制、十进制、十六进制

  bin() 将十进制转换成二进制   以0b开头      十六进制如何转化为二进制   我们需要先将十六进制先转化为十进制,然后将十进制转化为二

  oct() 将十进制转化为八进制  以0o开头

  hex() 将十进制转化为16    以0x开头

  

 print(bin(15))   #十进制转化为二进制
print(hex(15)) #十进制转化为十六进制
print(oct(15)) #十进制转化为八进制
print(int(bin(15),2)) #二进制转化为十进制
print(bin(int(hex(12),16))) #十六进制转二进制

三、bytes与str转化

    bytes ------------》str    解码  decode

    str----------------》bytes   编码  encoding

 name ="xiaoming"
name2 = "小明"
print(name.encode(encoding='utf-8'))
print(name2.encode(encoding='utf-8'))
print(name2.encode(encoding='utf-8').decode('utf-8'))
ord() 将字符转换成ascii值
chr() 接受的是0-255,返回的是对应的ascii值的字符
 print(ord('c'))
print(chr(65))

四 列表

  列表是一系列按照特定顺序排列的元素组成。列表中可以包含字母、数字、也可以将任何东西放入列表中,用[]表示,并用,分隔每个元素。

  

 l1 =["xiaoyun",'mingming','dahong','feiyu','chanchan']
print(l1[0]) #查找列表中索引为的元素
l1[1:3] #列表中索引为1、2的元素
l1.append('xiaobai') #增加一个元素
l1.copy() #浅copy
l1.count("xiaoyun") #统计列表中xiaoyun 的个数
l1.clear() #清空列表
l1.extend([1,2,3]) #增加一个列表
l1.insert(1,"lingling") #在列表索引为1的位置插入lingling
l1.index("mingming") #列表中mingming的索引位置
l = l1.pop() #删除最后一个元素并返回
l1.reverse() #列表反序排列
l1.remove("dahong") #把dahong从列表中移除
l1.sort() #排序

五、字符串操作:

 name = "xiaoming"
name.count("i") #统计i的个数
name.capitalize() #将首字母改成大写
name.center(20,"-") #总共20个占位符将xiaoming放中间,其余用-填充
name.endswith("g") #判断以什么结尾 返回一个bool值
name.find('o') #返回o所在的索引,如果元素不存在则返回-1
name.isdigit()#判断是否为数字
name.index('i') #第一个i的索引
name.isalnum() #判断是否为字母
name.isidentifier()#判断是否是一个合法标识符
name.islower()#判断是否为小写
name.istitle() #判断首字母是否大写
name.isupper() #判断是否为大写
name.ljust(20,"-") #左对齐 总共20个占位符,其余用-填充
name.lower() #改成小写
name.lstrip() #左边删除空格和回车
name.replace('a','b') #将a改成b
name.rjust(20,'-')#右对齐,总共20个占位符,其余用-填充
name.rstrip() #右边删除空格和回车
name.split('i') #以'i’分割
name.strip() #删除空格和回车
name.startswith("x")#判断是否以x开始
name.swapcase() #转换大小写
name.title() #标题形式
name.upper() #改成大写
 '''
购物车程序
.启动程序后,让用户输入工资,然后打印商品列表
.允许用户根据编号购买商品
.用户选择商品后,来检查余额是否够,够就直接扣款,不够就提醒
.随时退出,退出时,打印它已购买的商品和余额
'''
shopping_list = [('IphoneXS',),('Mac Pro',),('watch',),('huawei',)]
shopping_car = []
money = input("请输入您的钱:")
while True:
money =int(money)
for i,shopping in enumerate(shopping_list):
print(i,shopping)
choice = input("请输入您要购买的商品:")
# print(type(choice))
if choice.isnumeric():
choice = int(choice)
if <= choice and choice<len(shopping_list):
p_item = shopping_list[choice]
if p_item[]<money:
shopping_car.append(p_item)
money -= p_item[]
print("%s 以加入购物车,还剩\033[31;1m%s\033[0m"%(p_item,money))
else:
print("\033[41;1m您还剩%s,不能购买\033[0m"%money)
else:
print("invalid shopping") elif choice =='q':
for i in shopping_car:
print("您已购买%s,还剩%s"%(i,money))
exit()

六、字典

  字典是一些列键-值对,每个键都与一个值相关联。你可以通过键来访问与之相关联的值。与键相关联的值可以是数字、字符串、列表乃至字典。事实上,可将任何python对象当作字典中的值。

 user_info ={'name':'xiaoming','age':,'sex':'boy','job':'student'}
user_info['name'] #查找name所对应的值
del user_info['name'] #删除name信息
user_info['name'] = "shanshan" #添加name属性对应的值为shanshan
user_info['name'] ='beibei' #将name所对应的值改成beibei
user_info.copy() #浅copy
user_info.clear() #删除 所有信息
user_info.fromkeys('hobby','swimming')#添加hobby属性,对应的值为swimming 如果添加的属性原来存在,就不覆盖
user_info.get('d') #获得name中的值 ,当字典中不存在时,返回None
user_info.items() #将键-值对以元组的形式放在字典列表中
user_info.keys() #字典的键
user_info.pop('name') #删除name属性 ,相当于del 当不传参数时,随机删除一个 user_info.popitem() #随机以元组的形式返回删除的键值对
user_info.setdefault('name','swimming') #添加hobby属性 ,如果原来字典中存在就不添加
print(user_info)
user_info1 = {"name":'zqq'}
user_info.update(user_info1) #键user_info与user_info1字典合在一起,如果拥有相同的键,就会覆盖前面的值
print(user_info)
user_info.values()#字典的值
for i in user_info:
print(i,user_info[i]) #遍历所有的键,输出键和对应的值
for k,v in user_info.items():
print(k,v) #分别遍历键和值,并输出
 #省市县三级
#只选择浙江 data ={'北京':{'海淀区':['圆明园','凤凰岭自然风景区'],
'东城区':['王府井','地坛公园'],
'丰台区':['千灵山','卢沟桥']},
'上海':{'浦东新区':['上海迪士尼旅游区','上海浦东国际机场'],
'虹口区':['鲁迅公园','和平公园'],
'长宁区':['中山公园','近中山公园']},
'浙江':{
'杭州':{
'上城区':['中豪望江国际','河坊街景区','八卦田遗址公园','南落马英体育公园'],
'西湖区':['西溪湿地国家公园','西湖景区','雷峰塔景区','杭州植物园'],
'滨江区':['六和文化公园','彩虹城','东方通信科技园','杭州高新金盛科技园']
},
'衢州':{
'常山':['金钉子','三衢石林'],
'江山':['江郎山','春雕花尖'],
'龙游':['龙游石窟','乌龟山']
},
'金华':{'义乌':['五指山','大峰山'],
'永康':['牛角尖','十八曲岭'],
'武义':['牛头山国家公园','台山寺旅游区']}}}
while True:
for i in data:
print(i)
choice = input("请输入您要去的省:")
if choice in data:
while True:
for i2 in data[choice]:
print(i2)
choice2 = input("请输入您要去的市:")
if choice2 in data[choice]:
for i3 in data[choice][choice2]:
print(i3)
choice3 = input("请输入你要去的县:")
if choice3 in data[choice][choice2]:
print(data[choice][choice2][choice3])
choice4 = input("请输入b返回上一层:")
if choice4 =='b':
pass elif choice2 == 'b':
break
elif choice =='b':
break
else:
print("没有这个选项,请重新选择")
 ti = {"a":1,"d":3,"b":2}
print(sorted(ti.items(),key=operator.itemgetter(1))) #两种方式等价
print(sorted(ti.items(),key=lambda x:x[1],reverse=True))

我的Python分析成长之路2的更多相关文章

  1. 我的Python分析成长之路7

    类 一.编程范式: 1.函数式编程   def 2.面向过程编程   (Procedural Programming) 基本设计思路就是程序一开始是要着手解决一个大的问题,然后把一个大问题分解成很多个 ...

  2. 我的Python分析成长之路6

    模块:本质就是.py结尾的文件.从逻辑上组织python代码. 包: 本质就是一个目录,带有__init__.py文件,从逻辑上组织模块. 模块的分类: 1.标准库(内置的模块) 2.开源库(第三方库 ...

  3. 我的Python分析成长之路10

    matplot数据可视化基础 制作提供信息的可视化(有时称作绘图)是数据分析中最重要任务之一. 1.图片(画布)与子图 plt.figure :创建一张空白的图片,可以指定图片的大小.像素. figu ...

  4. 我的Python分析成长之路8

    Numpy数值计算基础 Numpy:是Numerical Python的简称,它是目前Python数值计算中最为基础的工具包,Numpy是用于数值科学计算的基础模块,不但能够完成科学计算的任而且能够用 ...

  5. 我的Python分析成长之路11

    数据预处理 如何对数据进行预处理,提高数据质量,是数据分析中重要的问题. 1.数据合并 堆叠合并数据,堆叠就是简单地把两个表拼在一起,也被称为轴向链接,绑定或连接.依照轴的方向,数据堆叠可分为横向堆叠 ...

  6. 我的Python分析成长之路1

    Python是什么?                                                                                           ...

  7. 我的Python分析成长之路9

    pandas入门 统计分析是数据分析的重要组成部分,它几乎贯穿整个数据分析的流程.运用统计方法,将定量与定性结合,进行的研究活动叫做统计分析.而pandas是统计分析的重要库. 1.pandas数据结 ...

  8. 我的Python分析成长之路5

    一.装饰器: 本质是函数,装饰其他函数,为其他函数添加附加功能. 原则: 1.不能修改被装饰函数的源代码. 2.不能修改被装饰函数的调用方式. 装饰器用到的知识: 1.函数即变量   (把函数体赋值给 ...

  9. 我的Python分析成长之路4

    一.函数 1.什么是函数?:函数是带名字的代码块,调用函数,只要调用函数名就可以.    2.函数的性质:1.减少重复代码 2.使程序变得可扩展 3.使程序变得易维护 3.编程范示: 1.面向对象编程 ...

随机推荐

  1. 并发编程协程(Coroutine)之Gevent

    并发编程协程之Gevent Gevent官网文档地址:http://www.gevent.org/contents.html 基本概念 我们通常所说的协程Coroutine其实是corporate r ...

  2. tensorflow:实战Google深度学习框架第四章01损失函数

    深度学习:两个重要特性:多层和非线性 线性模型:任意线性模型的组合都是线性模型,只通过线性变换任意层的全连接神经网络与单层神经网络没有区别. 激活函数:能够实现去线性化(神经元的输出通过一个非线性函数 ...

  3. Codeforces 1142A(性质、暴举)

    队友和大佬都什么几种情况啥的……我是把终点都插了,起点随便选一个,暴举答案莽A. ; ll n, k, a, b, aa, minn = INF, maxx = -; set<ll> bb ...

  4. Mass Change Queries Codeforces - 911G

    https://codeforces.com/contest/911/problem/G 没想到线段树合并还能这么搞.. 对每个权值建一个线段树(动态开点),如果权值为k的线段树上第i位为1,那么表示 ...

  5. 20180607pip install xxx报错SyntaxError invalid syntax

    用pip安装时都要在cmd命令行里启动的,而在python中无法运行.退出python运行环境就再执行pip可以了.而且最好用管理员身份运行cmdC:\WINDOWS\system32>cd D ...

  6. python入门之排序,文件操作

    排序 li.sort() 对li列表从小到大排序,直接更新li列表 sorted(li) 返回一个li排序后的列表,并非直接对li作更新 列表元素必须是同一种数据类型 文件操作 打开文件: f = o ...

  7. 通用全局CSS样式

    PC全局样式 *{padding:0;margin:0;} div,dl,dt,dd,form,h1,h2,h3,h4,h5,h6,img,ol,ul,li,table,th,td,p,span,a{ ...

  8. matlab各向异性扩散滤波

    主要是用来平滑图像的,克服了高斯模糊的缺陷,各向异性扩散在平滑图像时是保留图像边缘的(和双边滤波很像). 通常我们有将图像看作矩阵的,看作图的,看作随机过程的,记得过去还有看作力场的. 这次新鲜,将图 ...

  9. 微信小程序开发-微信登陆流程

    我们需要一个标识来记录用户的身份的唯一性,在微信中unionId就是我们所需要的记录唯一ID,那么如何拿到unionId就成了关键,我将项目分为小程序和 后台PHP代码两部分来讲. 从小程序代码说起 ...

  10. kafka-->storm-->mongodb

    目的: 通过Spout发射kafka的数据,到bolt统计每一个单词的个数,将这些记录更新到mongodb中. Spout的nextTuple方法会一直处于一个while循环这中,每一条数据发送给bo ...