zoukankan      html  css  js  c++  java
  • 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='
    '][,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)+'
    ')
    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+'
    ')
    	
    	或者print('bad'*8,file=sys.stderr)
    	
    

      

  • 相关阅读:
    OEA框架学习:缓存
    2012年 博文整理
    技术支持经验总结
    OEA框架学习:元数据设计
    安装后新建Android出现“AndroidManifest.xml 系统找不到指定的文件”解决方案
    Android控件学习笔记之 GridView(实现九宫格)
    获取url地址中主机的域名
    C# 语音读取字符串
    JSON省市联动
    MOTO Droid手机自定义本地铃声设置方法
  • 原文地址:https://www.cnblogs.com/hbcb533/p/3672140.html
Copyright © 2011-2022 走看看