格式化输出和字符串转义

占位符 使用示意 作用
%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. 解析如何在C语言中调用shell命令的实现方法【转】

    本文转自:http://www.jb51.net/article/37404.htm 1.system(执行shell 命令)相关函数 fork,execve,waitpid,popen表头文件 #i ...

  2. C/C++:函数调用规则__stdcall,__cdecl,__pascal,__fastcall

    __cdecl __cdecl 是 C Declaration  的缩写,表示 C 语言默认的函数调用方法:所有参数从右到左依次入栈,这些参数由调用者清除,称为手动清栈.被调用函数不会要求调用者传递多 ...

  3. makefile 字符串处理函数

    截取自<跟我一起写Makefile> (1)  $(subst <from>, <to>, <text>) 名称: 字符串替换函数 subst 功能: ...

  4. 利用jstack命令定位占用cpu高的java线程及具体错误代码信息

    1.先用top查询某进程的线程CPU占用情况,定位到cpu占用高的进程pid 2.根据pid定位具体的线程top -p PID -H ,找出占用cpu最大的pid,此处占用cpu比较平均,我们随便选择 ...

  5. centos7的安装主要步骤选择

    选择语言,选择英语 选择时区done确认选择 安全策略,选择默认 安装源文件 软件包选择,此处选择 最小安装 选择磁盘,并分区

  6. 使用Navicat Premium对sqlserver 2008进行表、字段及用户权限的精细化管理

    在一些特殊的业务场景,我们需要对数据库进行精细化的管理,比如只能授权给某用户某个表的操作权限,最小权限法则可以保障数据库最大的安全.利用navicat这个轻量化的工具可以很轻松的解决这个问题 1.通过 ...

  7. iptables实现网络防火墙及地址转换

    iptables主机防火墙功能及常用命令 FSM:Finite State Machine 有限状态机 客户端:closed -->syn_sent -->established --&g ...

  8. Windows下安装并启动mongodb

    一.Windows下mongodb的安装 MongoDB 提供了可用于 32 位和 64 位系统的预编译二进制包,你可以从MongoDB官网下载安装,MongoDB 预编译二进制包下载地址:https ...

  9. Codeforces 407B Long Path(好题 DP+思维)

    题目链接:http://codeforces.com/problemset/problem/407/B 题目大意:一共n+1个房间,一个人从1走到n+1,每次经过房间都会留下一个标记,每个房间有两扇门 ...

  10. *****hibernate主键生成

    一.主键主键是关系数据库中的一个基本概念,它用来保证记录的唯一性主键都是没有业务含义的,所以开发 者不会.也不需要,显示地设置实体对象的主键值.但是对于数据库来说,主键是必须的 Hibernate内置 ...