day06 再谈编码 and 作业讲解
1. 小数据池,(其他语言又叫常量池)
id() 查看变量的内存地址
is和==
is 判断内存地址是否一致
== 判断内容是否一致
小数据池的作用: 为了快速的创建字符串对象, 可以减少内存的浪费
用缓存的前提:数据可以被共享。不可变.
2. 再谈编码
ascii: 数字,字母, 特殊字符。 字节: 8bit = 1byte
gbk: 国标码。16bit, 2byte
unicode: 万国码。32bit, 4byte
utf-8:可变长度的unicode
英文: 1byte 8bit
欧洲文字: 2byte,16bit
中文: 3byte, 24bit
python2中用的是ascii
python3用的是unicode
字符串如果传输:
encode(编码) 结果是bytes类型
接受到bytes之后。
需要解码 decode(解码). 结果是字符串
讲解:
# 有字符串 "k:1|k1:2|k2:3|k3:4" 处理成字典 {'k':1,'k1':2....} (升级题)
# {'k':1,'k1':2....}
# s = "k:1|k1:2|k2:3|k3:4"
# lst = s.split(":") # ['k:1', 'k1:2', 'k2:3', 'k3:4']
# dic = {}
# for el in lst: # 'k:1'
# k, v = el.split(":") # 解包, 解构, 元祖和列表
# dic[k] = int(v)
# print(dic)
# 输出商品列表,用户输入序号,显示用户选中的商品(升级题)
#
# 商品列表:
# goods = [{"name": "电脑", "price": 1999},
# {"name": "鼠标", "price": 10},
# {"name": "游艇", "price": 20},
# {"name": "美女", "price": 998}, ]
#
# 要求:
# 1:页面显示 序号 + 商品名称 + 商品价格,如:
# 1 电脑 1999
# 2 鼠标 10
# 2:用户输入选择的商品序号,然后打印商品名称及商品价格
# 3:如果用户输入的商品序号有误,则提示输入有误,并重新输入。
# 4:用户输入Q或者q,退出程序。
# 扩展:准备一个购物车。把购买的商品保存到购物车。 用户可以随意的对购物车进行增删改查
# goods = [{"name": "电脑", "price": 1999},
# {"name": "鼠标", "price": 10},
# {"name": "游艇", "price": 20},
# {"name": "美女", "price": 998}, ]
#
# for i in range(len(goods)):
# good = goods[i]
# print(i+1,good['name'], good['price'] )
#
# while 1:
# num = input("请输入你要购买的商品(序号):").strip() # 2
# if num.upper() == "Q":
# break
#
# index = int(num) - 1 # 还原商品的索引 # 1
# if num.isdigit() and (index < 0 or index > len(goods)-1):
# print("输入有误, 请重新输入")
# continue
#
# print("您要购买的商品是%s, 价格是%s" % (goods[index]['name'], goods[index]['price']))
day06 再谈编码 and 作业讲解的更多相关文章
- 小数据池 is和== 再谈编码
昨日回顾 上节课内容回顾 1. 字典 {key:value, key:value.....} 成对的保存数据 字典没有索引. 不能切片, 字典的key必须是可哈希的.不可变的 1. 增加: dic[新 ...
- python之路--小数据池,再谈编码,is和 == 的区别
一 . 小数据池 # 小数据池针对的是: int, str, bool 在py文件中几乎所有的字符串都会缓存. # id() 查看变量的内存地址 s = 'attila' print(id(s)) 二 ...
- python的小数据池 is和== 以及再谈编码
---恢复内容开始--- 1. 小数据池, id() 小数据池针对的是: int, str, bool 在py文件中几乎所有的字符串都会缓存. id() 查看变量的内存地址 # a = 10 # b ...
- Python基础篇 -- 小数据池和再谈编码
小数据池 1. id() 通过id()可以查看到一个变量表示的值在内存中的地址 s = "Agoni" print(id(s)) # 2410961093272 2. is 和 = ...
- python-小数据池,再谈编码,is和 == 的区别
一 . 小数据池 # 小数据池针对的是: int, str, bool 在py文件中几乎所有的字符串都会缓存. # id() 查看变量的内存地址 s = 'attila' print(id(s)) 二 ...
- 小数据池/is和==/再谈编码作业
# 1,老男孩好声选秀大赛评委在打分的时候呢, 可以输入分数. 假设, 老男孩有10个评委. 让10个评委进行打分, 要求, 分数必须高于5分, 低于10分.将每个评委的打分情况保存在列表中. pin ...
- day06 小数据池,再谈编码
今日所学 一. 小数据池 二. is 和==的区别 三. 编码的问题 一.小数据池的作用 用来缓存数据 可以作用的数据类型: 整数(int), 字符串(str), 布尔值(bool). 什么是块 ...
- python -- 小数据池 is和 == 再谈编码
1.小数据池 python程序是由代码块构成的,一个代码块的文本作为python程序的执行单元. 代码块:一个模块,一个函数,一个类,甚至一个command命令都是一个代码块,一个文件也是一个代码块, ...
- Day6--Python--小数据池和再谈编码
一.小数据池 参考 目的:缓存我们字符串,整数,布尔值.在使用的时候不需要创建过多的对象 缓存: int, str, bool int: 缓存范围 -5~256 str: 1. 长度小于等于1,直接缓 ...
随机推荐
- ansible常用配置
1.什么是Ansible 部署参考连接:http://www.ansible.com.cn/ ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfeng ...
- Python中级 —— 03进程与线程
多任务的实现有3种方式: 多进程模式: 多线程模式: 多进程+多线程模式. ** 进程: ** 不同任务,例如打开一个写字本,就是开启一个新进程. 多进程 Unix/Linux操作系统提供了一个for ...
- Linux网卡配置文件 参数详解
之所以弄这玩意儿是图个清晰方便,最近这段时间弄了好十来次虚拟机网络了ubuntu,centos,rhat7各种折腾,其实把网上各种命令行下的攻略折腾最后关键无非都是对/etc/sysconfig/ne ...
- PHP-掌握基本的分布式架构思想
虽然说写PHP目前都是接触的业务代码,发现写久了,也要熟悉相应的架构 在高并发,高可用的系统下,都是使用高性能的分布式架构,最近在学习相关知识 分享一张图片: 欢迎关注公众号[phper的进阶之路], ...
- PHP接收post请求,不是空数组就是没值,怎么办!
使用: $_POST $_REQUEST I('post.') 都不行, 换成: file_get_contents("php://input");
- 【python安装】Windows上安装和创建python开发环境
1. 在 windows10 上安装python开发环境 Linux和Mac OS都自带python环境,但是Windows没有,所以需要自行安装. 第1步:访问 python官网,下载Windows ...
- Enable CSS active pseudo styles in Mobile Safari
http://alxgbsn.co.uk/2011/10/17/enable-css-active-pseudo-styles-in-mobile-safari/ document.addEventL ...
- Java基础——NIO(一)通道与缓冲区
一.概述 1.什么是NIO NIO即New IO,这个库是在JDK1.4中才引入的.NIO和IO有相同的作用和目的,但实现方式不同,NIO主要用到的是块,所以NIO的效率要比IO高很多. 在Java ...
- 20155239 实验四 Android程序设计
20155239 实验四 Android程序设计 目录 第24章:初识Android 任务一: 完成Hello World, 要求修改res目录中的内容,Hello World后要显示自己的学号 学习 ...
- adb的配置
http://jingyan.baidu.com/article/2fb0ba405e815f00f2ec5f9e.html 1. 用快捷键Ctrl + Alt + T 打开终端命令工具,电脑不要插入 ...