python手册 (动态类型及字符串)

---恢复内容开始---

一、对象类型

1、变量说明

(1)变量时一个系统表的元素

(2)对象是分配的一块内存,有足够的空间去表示他们所代表的值

(3)引用是自动形成的从变量到对象的指针

2、对象

每一个对象都有两个标准的头部信息,一个类型标识符去识别这个对象的类,以及一个对象引用的计数器

变量名没有类型,对象知道自己的类型

二、字符串

1、自动在任意的表达式中合并相邻的字符串常量a="aaaa""bbbb"

2、转义字符串

转义 意义
\newline 忽视(连续)
\\ 反斜杠(保留\)
\' 单引号(保留')
\" 双引号(保留")
\a 响铃
\b 倒退
\f 换页
\n 换行
\r 返回
\t 水平制表符
\v 垂直制表符
\N{id} Unicode数据库中ID
\uhhhh Unicode十六进制
\uhhhhhhhh Unicode三十二进制
\xhh 十六进制
\o00 八进制
\0 不是字符串结尾
\other

不转义

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3、raw会关闭转义,\\也能保留一个\

4、"spam"[slice(1,3)]="spam"[1:3]

5、单个字符可以通过内置函数ord转换为对应的ASCII码,chr执行相反的操作

6、split将字符串分割成一个字符串的列表

7、字符串格式化代码

%[(name)][flags][width].[precision]typecode

(name)      可选,用于选择指定的key

flags          可选,可供选择的值有:

width         可选,占有宽度

.precision   可选,小数点后保留的位数

typecode    必

s 字符串
r 使用repr,而不是str
c 字符
d 十进制
i 整数
u 无号
o 八进制
x 十六进制
X x,但打印大写
e 浮点指数
E e,但打印大写
f 浮点十进制
F 浮点十进制
g 浮点e或f
G 浮点e或f
% 常量%

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 8、格式化操作       左对齐(-)、正负号(+)、补零(0)的标志位 *通过计算得出width

x=1234

res="integers:...%d...%-6d...%06d"%(x,x,x)

intergers:...1234...1234  ...001234

“%f,%.2f,%.*f”%(1/3.0,1/3.0,4,1/3.0)

 "0.333333,0.33,0.3333"
9、字符串格式化同时也允许左边的转换目标来引用右边字典中的键来提取对应的值

"%(n)d %(x)s" %{"n":1,"x":"spam"}

"{motto},{0} and {food}".formate(42,motto=3.14,food="eggs")

tpl = "i am %(name)s age %(age)d" % {"name": "alex", "age": 18}

10、格式化字符串可以指定对象的属性和字典的键

1 import sys
2 print("my {1[spam]} runs {0.platform}".format(sys,{"spam":"laptop"}))

格式化字符串中的方括号可以指定列表,只有单个的正的偏移才能在格式化字符串的语法中有效,要指定负的偏移或分片,或任意表达式

必须在格式化字符串自身之外运行表达式

11、format方式

[[fill]align][sign][#][0][width][,][.precision][type]

fill      空白处填充的字符

align   对齐方式(需配合width使用)

sign    有无符号数字

  +,正号加正,负号加负;

   -,正号不变,负号加负;

  空格 ,正号空格,负号加负;

width      格式化位所占宽度

.precision 小数位保留精度

type         格式化类型

添加具体格式化<左对齐,>右对齐,=或^一个标识符后的补充或居中对齐

"{0:10}={1:10}".format("spam",123.4567)
'spam      =  123.4567'
print("{0:>10}={1:<10}".format("spam",123.4567))
      spam=123.4567  

 浮点数支持与%表达式中相同的代码类型和格式化声明

print("{0:e},{1:3e},{2:g}".format(3.14159,3.14159,3.14159))
3.141590e+00,3.141590e+00,3.14159

格式化也支持各种进制

b="{0:x},{1:o},{2:b}".format(255,255,255)
print(b)
ff,377,11111111

int("字符串",8)

print(int("1232",8))

format函数,他用来格式化一个单独的项

b=format(1.23456,".3f")
print(b)
1.235
print("%.2f"%1.23456)

 课上补充

tpl = "i am {0}, age {1}, really {0}".format(*["seven", 18])
tpl = "i am {name}, age {age}, really {name}".format(name="seven", age=18)
 
tpl = "i am {name}, age {age}, really {name}".format(**{"name": "seven", "age": 18}
tpl = "numbers: {num:b},{num:o},{num:d},{num:x},{num:X}, {num:%}".format(num=15)

 

 

 

 

 

 

---恢复内容结束---

posted @ 2016-05-05 14:28  若时光搁浅  阅读(144)  评论(0)    收藏  举报