格式化输出和字符串转义

占位符 使用示意 作用
%s '%s %s' % ('hello', 'world') 表示占位的是str
%d '%d %d' % (1, 2) 表示占位的是int
%d '%d %d' % (1.3,2.9) 如果使用float占位,输出整数部分
%f '%f %f' % (1.3,2.9) 表示占位的是float,默认不足6位小数末尾用0补全
    以上是上上节课的内容
  %有关的内容  
%.if '%.2f %.4f' % (1.123, 2.12) i为一个整数,表示小数后的位数,不足用0补全
%xf '%8f<>%10f' % (1.2, 1.2) x为一个整数,表示整个数字的位数,不足在左边用空格补全
%+f '%+f<>%+f' % (1.2, 1.2)' + 表示显示正负号
%-f '%-7.2f<>%-7.2f' % (-1.2, 1.2) - 表示不足位数在右边用空格补全
%c '%c' % 97 表示占位的为ASCII码,输出ASCII对应的字符
%o '%o' % 8 表示占位的为十进制数字,输出对应的八进制数字
%x ‘%x’ % 16 表示占位的为十进制数字,输出对应的十六进制数字
%e ‘%e’ % 11 表示占位的是数字,用科学计数法输出
%r '%r<>%r' % ('1', 1) 原始形象输出;区分字符串1 和 数字1
  foramt有关的内容  
{index} ‘{1}<>{0}’.format('零', '一') 索引输出
{obj} '{x}<>{y}'.format(x=2, y=1) 关键字输出
{:x} '{:x}'.format(16) 十进制转十六进制
{:o} '{:o}'.format(8) 十进制转八进制
{:*<i} '{:#<5} {:*<8}'.format(123, 'abc') i表示整数,*表示补全的符号;不足位数在右边用符号补全
{:*>i} '{:#>5} {:*>8}'.format(123, 'abc') i表示整数,*表示补全的符号;不足位数在左边用符号补全
{:*^i} '{:#^5} {:*^8}'.format(123, 'abc') i表示整数,*表示补全的符号;不足位数在两边用符号补全

            

接下来是转义符

转义符 作用
\a 发出一声响
\n 换行符
\t 水平制表符
\b 退格符
\r 将当前位置移动到本行开头
\ 代表 \,转义特殊字符
\0 空字符

字符串处理

添加的字符 作用
u 对字符进行Unicode编码
r 取消转义
b

代表该字符串为bytes类型

字符串编码

PPT第十三页 编码规则PPT第十四页

方法 作用
encode 编码
decode 解码

深浅复制

<font color='red'> 深浅复制只在列表嵌套的时候才讨论 </font>

li1 = [1,2,3,[4,5,6]]
li2 = li1.copy()
这个时候我们的li1和li2是不是相等的?如果我在这里修改li1[3][0] = 'a'
我们来看li1的结果 会变成什么?是不是[1,2,3,['a',5,6]],这个时候我们来看li2变成了和li1一样的了?
为什么呢?我么来看li1[3]和li2[3]的ID,是不是一样的,说明什么?说明他们是同一个对象;这就是浅复制
那么什么是深复制呢?
import copy
li3 = copy.deepcopy(li1)
现在我们再来修改嵌套的列表,看看会不会改变另一个

bytes和bytearray

1:bytes(二进制序列类型)
一:用指定长度的0来填充字节对象
bys1 = bytes(5)
二:二进制字符串对象
bys2 = bytes(b'abcde')
2:bytearray(二进制数组)
一:用指定长度的0来填充字节对象
bya1 = bytearray(5)
二:二进制字符串对象
bya2 = bytearray(b'abcde')

 

潭州课堂25班:Ph201805201 第五课:格式化输出和深浅复制 (课堂笔记)的更多相关文章

  1. 潭州课堂25班:Ph201805201 WEB 之 页面编写 第四课 登录注册 (课堂笔记)

    index.html 首页 <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...

  2. 潭州课堂25班:Ph201805201 WEB 之 页面编写 第三课 (课堂笔记)

    index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...

  3. 潭州课堂25班:Ph201805201 WEB 之 页面编写 第二课 (课堂笔记)

    index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...

  4. 潭州课堂25班:Ph201805201 WEB 之 页面编写 第一课 (课堂笔记)

    index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...

  5. 潭州课堂25班:Ph201805201 第十课 类的定义,属性和方法 (课堂笔记)

    类的定义 共同属性,特征,方法者,可分为一类,并以名命之 class Abc: # class 定义类, 后面接类名 ( 规则 首字母大写 ) cls_name = '这个类的名字是Abc' # 在类 ...

  6. 潭州课堂25班:Ph201805201 第八课:函数基础和函数参数 (课堂笔记)

    1, 函数定义 def fun(): print('测试函数') fun() #调用函数 return 运行函数返回值 def fun(): name = [1,3,4,5] return name[ ...

  7. 潭州课堂25班:Ph201805201 django 项目 第五课 静态页面转为模板 (课堂笔记)

    一.分析静态页面   1.静态vs动态 条目 静态页面 动态页面 网站内容 固定不变 经常变动 浏览器加载速度 更快(无需向服务器发起请求) 更慢 改变网站内容 很难(修改或者创建新的html页面) ...

  8. 潭州课堂25班:Ph201805201 爬虫基础 第十五课 js破解 二 (课堂笔记)

    PyExecJs使用 PyExecJS是Ruby的ExecJS移植到Python的一个执行JS代码的库. 安装 pip install PyExecJS 例子 >>> import ...

  9. 潭州课堂25班:Ph201805201 并发(协程) 第十五课 (课堂笔记)

    #斐波那契 def fid(n): res = [] indx = 0 a = 0 b = 1 while indx < n : res.append(b) a,b = b,a+b indx + ...

随机推荐

  1. git操作之冲突解决

    应用场景,任哥,我两个人共同修改了git项目上的一个文件.zsh命令行模式 准备工作 简写命令解释 gl=git pullgp=git pushgst=git statusgcmsg=git comm ...

  2. redhat换用centos源

    解除原有源rpm -aq|grep yum|xargs rpm -e --nodepsrpm -aq|grep python-iniparse|xargs rpm -e --nodeps rpm -q ...

  3. Asp.Net Core 快速邮件队列设计与实现

    发送邮件几乎是软件系统中必不可少的功能,在Asp.Net Core 中我们可以使用MailKit发送邮件,MailKit发送邮件比较简单,网上有许多可以参考的文章,但是应该注意附件名长度,和附件名不能 ...

  4. web服务器tomcat入门实战

    一.tomcat介绍1.1 引入tomcat Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache.Su ...

  5. zabbix系列(五)zabbix3.0.4 探索主机Discovery自动发现主机详细图文教程

    Zabbix 自动发现(Discovery)功能使用 随着监控主机不断增多,有的时候需要添加一批机器,特别是刚用zabbix的运维人员需要将公司的所有服务器添加到zabbix,如果使用传统办法去单个添 ...

  6. Solution of Publishing failed with multiple errors Error copying file static\

    1.前言 由于系统被IT打了防病毒补丁,然后启动web项目一直出现Publishing failed with multiple errors Error copying file static... ...

  7. matplotlib画图

    matplotlib画图 import numpy as np import matplotlib.pyplot as plt x1=[20,33,51,79,101,121,132,145,162, ...

  8. python3 + selenium 多iframe(框架)切换

    html演示: frame.html: <html> <head> <meta http-equiv="content-type" content=& ...

  9. python 全栈开发,Day62(外键的变种(三种关系),数据的增删改,单表查询,多表查询)

    一.外键的变种(三种关系) 本节重点: 如何找出两张表之间的关系 表的三种关系 一.介绍 因为有foreign key的约束,使得两张表形成了三种了关系: 多对一 多对多 一对一 二.重点理解如果找出 ...

  10. 步步为营-54-DOM

    说明:DOM document object model 文档对象模型.将所有的标记加载到内存中,以树形结构处理 1.1 使用JavaScript操作DOM,主要包括两个部分 Browser对象:BO ...