赋值语句
绝大多数的赋值语句都很简单,但有些特性要专门记住:
<1>赋值语句建立对象引用值
Python赋值语句会把对象引用值存储在变量名或者数据结构的元素内。赋值语句总是建立对象的引用值,而不是
复制对象,因此Python变量更像是指针,而不是数据存储区域。
<2>变量名会在首次赋值时被创建
一旦赋值了,每当这个变量名出现在表达式时就会被其所引用的值取代。
<3>变量名在引用前必须先赋值
否则可能发生异常
<4>执行隐式赋值时的一些操作
所有的赋值环境都是运行时把变量名和对象的引用值绑定起来。
常用赋值语句
<1>spam = 'Spam' #基本形式
<2>spam,ham = 'yum','YUM' #元组赋值
<3>[spam,ham] = 'yum','YUM' #列表赋值
<4>a,b,c,d = 'spam' #序列赋值
<5>spam = ham = 'spam' #多目标赋值
<6>spam = spam + N #增强型赋值
常用表达式语句
foo(x,y) #函数调用
foo.f(x) #方法调用
var #直接打印变量值
表达式语句通常用于执行可于原处修改的方法
若使用L=L.append(1) 则L为None
打印操作
打印操作在2.x和3.x的python版本差异很大,导致不修改就没法使用。
在2.x中 打印是语句拥有自己特定的语法
在3.x中 打印是个内置函数,用关键字参数来表示特定模式
3.0的print函数
print([object,...][,sep=''][,end='\n'][,file=sys.stdout])
其中方括号里的项是可选的,并且'='后面的值都有默认值。这个内置函数把字符串sep所分开的一个或多个
对象的文本表示,后面都跟着end,打印到file流中。其中,
sep是在每个对象的文本之间插入的一个字符串,如果没有传递的话,默认是一个空格。
x=1 y=2 z=3
print(x,y,z) -> 1 2 3 #sep间隔默认为一个空格
print(x,y,z,sep='') -> 123 #sep用空字符串替代 对象之间没空格
end是打印文本末尾的一个字符串,默认是一个\n。
print(x,y,z,end='') ->1 2 3 #打印完之后end为空字符串 不会到下一行
print(x,y,z,end='');print(x,y,z) -> 1 2 31 2 3 #于是紧接着上一次打印完的下一个继续打印
file指定文本将要发送到的文件,默认是sys.stdout,会显示在屏幕上。
print(x,y,z,file=open('test.txt','w')) #写入test.txt
print(open('test.txt').read())
1 2 3
也可以修改sys.stdout的值赋值文件流进行重定向
import sys
sys.stdout = open('log.txt','a')
重设之后程序中任何地方的print语句都会写到log.txt的末尾。默认的print语句只是传送文本给sys.stdout.write
方法。
参考<<learning python>>