内容概要:
一、python2 or 3
二、字符串拼接
三、字符串
四、列表、元祖
五、字典
六、集合
七、练习
| 一、python2 or python3 |
目前大多使用python2.7,随着时间的推移,python3将会成为python爱好者的主流。
python2和3区别:
1.PRINT IS A FUNCTION
1 Old: print "The answer is", 2*2 New: print("The answer is", 2*2)
2 Old: print x, # Trailing comma suppresses newline New: print(x, end=" ") # Appends a space instead of a newline
3 Old: print # Prints a newline
4 New: print() # You must call the function!
5 Old: print >>sys.stderr, "fatal error" New: print("fatal error", file=sys.stderr)
6 Old: print (x, y) # prints repr((x, y))
7 New: print((x, y)) # Not the same as print(x, y)!
2.某些库名改变
例如:
| 2.x | 3.x |
| _winreg | winreg |
| copy_reg | copyreg |
| Queue | queue |
| SockerServer | sockerserver |
| repr | reprlib |
3.ALL IS UNICODE NOW
所有的字符编码变为unicode
| 二、字符串拼接和高亮显示 |
方法一:使用“+”(不推荐)
原因:python中的字符串在C语言中体现为是一个字符数组,每次创建字符串时候需要在内存中开辟一块连续的空,并且一旦需要修改字符串的话,就需要再次开辟空间,万恶的+号每出现一次就会在内从中重新开辟一块空间
1 name="su" 2 msg="my name is "+name 3 print(msg) 4 输出: 5 my name is su
方法二:使用格式化字符串
%s:字符串
%d:整数
%f:浮点数
1 name="su" 2 age=25 3 job="IT" 4 msg="my name is %s age %d job %s"%(name,age,job) 5 print(msg) 6 输出: 7 my name is su age 25 job IT
方法三:使用format进行格式化输出(变量名替换)
1 name="su" 2 age=25 3 job="IT" 4 msg='''my name is:{_name} 5 age is: {_age} 6 job is: {_job}'''.format(_name=name,_age=age,_job=job) 7 print(msg) 8 输出: 9 my name is:su 10 age is: 25 11 job is: IT
或者:(位置替换)
1 name="su" 2 age=25 3 job="IT" 4 msg='''my name is:{0} 5 age is: {1} 6 job is: {2}'''.format(name,age,job) 7 print(msg) 8 输出: 9 my name is:su 10 age is: 25 11 job is: IT
总结:对比以上三种方法,使用+方式进行拼接字符串会开辟较多的内存空间,效率低,推荐使用第二种和第三种方法。
| 三、字符串 |
1.字符串高亮显示
显示颜色格式:\033[显示方式;字体色;背景色m......\033[0m说明: 前景色 背景色 颜色 --------------------------------------- 30 40 黑色 31 41 红色 32 42 绿色 33 43 黃色 34 44 蓝色 35 45 紫红色 36 46 青蓝色 37 47 白色 显示方式 意义 ------------------------- 0 终端默认设置 1 高亮显示 4 使用下划线 5 闪烁 7 反白显示 8 不可见 例子: print('This is a \033[1;35m test \033[0m!') print('This is a \033[1;32;43m test \033[0m!') print('\033[1;33;44mThis is a test !\033[0m')