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)
	

  

转载于:https://www.cnblogs.com/hbcb533/p/3672140.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值