python print 输出赋值_Python中赋值和print笔记

1、在python2.6总nonlocal不可用

2、python中还是可以出现";"的,例如:x = 3 ; y = 5 ; print(x+y)

3、python中的集中赋值:

spam = 'spam' #简单赋值

spam,ham = 'yun','YNN' #元祖赋值运算

['spam','ham'] = ['yun','YUM'] #列表赋值运算

a,b,c,d = 'spam' #序列赋值运算

a,*b= 'spam' #扩展序列解包

spam=ham='lunch' #多目标赋值

spam += 412 #增强赋值运算

3、序列赋值,

[a,b,c]=(1,2,3)

(a,b,c)="abc"

[a,b,c]='abc'

但是当两侧数目不一致时会报错。

4、当两侧数目不一致时,序列解包可以解决这个问题

seq = [1,2,3,4]

a,*b = seq

print(a,b) #输出:1,[2,3,4]

*a,b = seq

print(a,b) #输出:[1,2,3],4

a,*b,c = seq

print(a,b,c) #输出:1,[2,3],4

序列解包对任何序列都有效:

a,*b = 'spam' #输出:s,pam

如果没有剩下的内容给带星号的名称,则会赋值一个空的列表

a,b,c,d,*e = seq #输出:1,2,3,4,[]

a,b,*c,d,e = seq #输出1,2,[],3,4

#a,*b,c,*d=seq将会报错

#*a = seq 将会报错

*a, = seq

5、案例分析

a = b = 0

b = b+1

print(a,b) #0,1

#修改b只对b有影响,

6、列表的+和增强运算+=是有区别的,其中调用列表的extend的方法和增强+=效果一样。+=是在原处修改,而+是新建一个新的列表

L = [1,2,3,4]

t = [[1,2,3,4,5,6,7]]

k = L+t

print(k) #输出[1,2,3,4,[1,2,3,4,5,6,7]]

t[0][0] = -100

print(k) #输出[1,2,3,4,[1,2,3,4,5,6,7]]

L = [1,2,3,4]

t = [[1,2,3,4,5,6,7]]

L+=t

print(L) #输出:[1, 2, 3, 4,[ 1, 2, 3, 4, 5, 6, 7]]

t[0][0]=-100

print(L) #输出:[1, 2, 3, 4, [-100, 2, 3, 4, 5, 6, 7]]

L = [1,2,3,4]

t = [[1,2,3,4,5,6,7]]

L.extend(t)

print(L) #输出:[1, 2, 3, 4,[ 1, 2, 3, 4, 5, 6, 7]]

t[0][0]=-100

print(L) #输出:[1, 2, 3, 4, [-100, 2, 3, 4, 5, 6, 7]]

另外一个例子:

L = [1,2]

M = L

L = L + [3,4]

print(L,M) #输出:[1,2,3,4],[1,2]

L = [1,2]

M = L

L.extend([3,4]) #或者L+=[3,4]

print(L,M) #输出:[1,2,3,4][1,2,3,4]

7、命名规则

单下划线开头不会被from module import * 导入 例如:_x

前后都有双下划线的是系统定义变量 例如:__doc__

前面有两个下划线,但是后面没有下划线的是类本地变量

8、python3.0中的语法

print([object][,sep=' '][,end='\n'][,file=sys.stdout]) #等号后面都是默认值

9、python2.6中

print x,y 等效于 print(x,y)

print x,y, 等效于print(x,y,end='' #表示消除末尾的换行符

print >>myfile x,y 等效于 print(x,y,file=myfile)

如果想消除各个元素间的分隔符可以通过+或者格式化表示

print x+y 或者 '%s%s'%(x,y)

10、print(x)等价于 如下

import sys

sys.stdout.write(str(x)+'\n')

11、可以设置sys.stdout为文件,例如:

import sys

temp = sys.stdout #保存下来,方便以后调换过来

sys.stdout = open(r'f:/python/tsst.txt') #或者 print(x,y,file=(open(r'f:/python/test.txt')))

print('hello,worl')

print(1,2,3)

sys.stdout.close()

sys.stdout = temp #又切换为原来

print('hello,worl')

print(1,2,3)

12、错误信息也可以重定向

import sys

sys.stderr.write('bad'*8+'\n')

或者print('bad'*8,file=sys.stderr)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值