1 =(单等号)和==(双等号)的区别
=用来赋值, ==用来判断是否相等
2 x = 100
在操作符2侧加空格,易读
3 打印时,进行字符串拼接
print "there are", cars, "cars available."
2对双引号中,末尾或者开头,不需要加空格, cars可以自动带空格显示。
4 格式化字符串 format string,我认为其实就是平常说的字符串,不知道对不对。应该没人来考这个吧?岂不是茴香的茴有几种写法?
5 格式化字符(或者格式符),与上面不一样,指%s,%r, %d中的s,r,d等。
%s 字符串 (采用str()的显示)
%r 字符串 (采用repr()的显示)
%c 单个字符
%b 二进制整数
%d 十进制整数
%i 十进制整数
%o 八进制整数
%x 十六进制整数
%e 指数 (基底写为e)
%E 指数 (基底写为E)
%f 浮点数
%F 浮点数,与上相同
%g 指数(e)或浮点数 (根据显示长度)
%G 指数(E)或浮点数 (根据显示长度)
%% 字符"%"
另有格式符辅助符
* 定义宽度或者小数点精度
- 用做左对齐
+ 在正数前面显示加号(+)
# 在八进制数前面显示零(0),在十六进制前面显示"0x"或者"0X"(取决于用的是"x"还是"X")
0 显示的数字前面填充"0"而不是默认的空格
(var) 映射变量(通常用来处理字段类型的参数)
m.n m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)
例子:
>>> students = [{"name":"Will","age":28},{"name":"Sophia","age":29}]
>>> print "name:%10s,age:%10d" %(students[0]["name"], students[0]["age"])
name: Will,age: 28
>>> print "name: %-10s,age: %-10d" %(students[0]["name"],students[0]["age"])
name: Will ,age: 28
>>> print "name: %*s, age: %0*d" %(10,students[0]["name"],10,students[0]["age"])
name: Will, age: 0000000028
>>> for student in students:
... print "%(name)s is %(age)d years old" %student
...
Will is 28 years old
Sophia is 29 years old
6 %s与%r的区别
例一:
stringtest = "hellow, world"
print "test1:%s" %stringtest
print "test2:%r" %stringtest
结果:
test1:hellow,
world
test2:'hellow, world'
例二:
stringtest2 = """hellow, world"""
print "test1:%s"%stringtest2
print "test2:%r"%stringtest2
结果:同上,可见,3引号无关。 后面的%带不带空格,没用。
例三:
text = "I am %d years old." %22
print "I said: %s." % text
print "I said: %r." % text
结果:
I said: I am 22 years old..
I said: 'I am 22 years old.'. //%r给字符串加了单引号
例四:
import datetime
d = datetime.date.today()
print "%s" %d
print "%r" %d
结果:
2016-10-11
datetime.date(2016,10,11) // %r 能够重现它所代表的对象
%s 用str()方法处理对象
%r 用rper()方法处理对象。 unambiguously recreate the object it represents
7 变量必须以字母开头
8 round(1.7333)
2.0