在 Python 3 中接触的第一个很大的差异就是缩进是作为语法的一部分,这和C++等其他语言确实很不一样,所以要小心 ,其中python3和python2中print的用法有很多不同,python3中需要使用括号

缩进要使用4个空格(这不是必须的,但你最好这么做),缩进表示一个代码块的开始,非缩进表示一个代码的结束。没有明确的大括号、中括号、或者关键字。这意味着空白很重要,而且必须要是一致的。第一个没有缩进的行标记了代码块,意思是指函数,if 语句、 for 循环、 while 循环等等的结束。

  1. 字符串和数值类型
    可以直接输出
>>> print(1)  
1  
>>> print("Hello World") Hello World 
>>> print(1)  
1  
>>> print("Hello World") Hello World
  1. 变量
    无论什么类型,数值,布尔,列表,字典...都可以直接输出
>>> x = 12  
>>> print(x)  
12 >>> s = 'Hello' >>> print(s) Hello >>> L = [1,2,'a'] >>> print(L) [1, 2, 'a'] >>> t = (1,2,'a') >>> print(t) (1, 2, 'a') >>> d = {'a':1, 'b':2} >>> print(d) {'a': 1, 'b': 2} 
>>> x = 12  
>>> print(x)  
12 >>> s = 'Hello' >>> print(s) Hello >>> L = [1,2,'a'] >>> print(L) [1, 2, 'a'] >>> t = (1,2,'a') >>> print(t) (1, 2, 'a') >>> d = {'a':1, 'b':2} >>> print(d) {'a': 1, 'b': 2}
  1. 格式化输出
    类似于C中的 printf
>>> s  
'Hello'  
>>> x = len(s)  
>>> print("The length of %s is %d" % (s,x)) The length of Hello is 5 
>>> s  
'Hello'  
>>> x = len(s)  
>>> print("The length of %s is %d" % (s,x)) The length of Hello is 5
  • 格式化输出总结

转换类型

含义

d,i

带符号的十进制整数

o

不带符号的八进制

u

不带符号的十进制

x

不带符号的十六进制(小写)

X

不带符号的十六进制(大写)

e

科学计数法表示的浮点数(小写)

E

科学计数法表示的浮点数(大写)

f,F

十进制浮点数

g

如果指数大于-4或者小于精度值则和e相同,其他情况和f相同

G

如果指数大于-4或者小于精度值则和E相同,其他情况和F相同

C

单字符(接受整数或者单字符字符串)

r

字符串(使用repr转换任意python对象)

s

字符串(使用str转换任意python对象)

>>> pi = 3.141592653  
>>> print('%10.3f' % pi) #字段宽10,精度3 3.142 >>> print("pi = %.*f" % (3,pi)) #用*从后面的元组中读取字段宽度或精度 pi = 3.142 >>> print('%010.3f' % pi) #用0填充空白 000003.142 >>> print('%-10.3f' % pi) #左对齐 3.142 >>> print('%+f' % pi) #显示正负号 +3.141593 
>>> pi = 3.141592653  
>>> print('%10.3f' % pi) #字段宽10,精度3 3.142 >>> print("pi = %.*f" % (3,pi)) #用*从后面的元组中读取字段宽度或精度 pi = 3.142 >>> print('%010.3f' % pi) #用0填充空白 000003.142 >>> print('%-10.3f' % pi) #左对齐 3.142 >>> print('%+f' % pi) #显示正负号 +3.141593
  • 显示百分比
num = 0
 40     allNum = len(fileNames)
 41     while True: 42 queue.get() 43 num += 1 44 copyRate = num/allNum 45 print("\rcopy的进度条是:%.2f%%"%(copyRate*100),end="") 
num = 0
 40     allNum = len(fileNames)
 41     while True: 42 queue.get() 43 num += 1 44 copyRate = num/allNum 45 print("\rcopy的进度条是:%.2f%%"%(copyRate*100),end="")

显示结果:

copy的进度条是:100.00%
  1. 如何让 print 不换行
    在Python中总是默认换行的
    print(x,end = '' )
  2. 拼接字符串:
>>> "Hello""World"  
'HelloWorld' >>> x = "Hello" >>> y = "world" >>> xy Traceback (most recent call last): File "<pyshell#10>", line 1, in <module> xy NameError: name 'xy' is not defined >>> x+y 'Helloworld' 
>>> "Hello""World"  
'HelloWorld' >>> x = "Hello" >>> y = "world" >>> xy Traceback (most recent call last): File "<pyshell#10>", line 1, in <module> xy NameError: name 'xy' is not defined >>> x+y 'Helloworld'
  1. pow函数:
# 2**3%5(2的3次幂对5取模)  
>>> pow(2,3,5) 3 
# 2**3%5(2的3次幂对5取模)  
>>> pow(2,3,5) 3
  1. 然后很重要一点是类型可以自由地转换,你赋什么值,变量就是什么类型,python会自动帮你管理
>>> x = 2  
>>> type(x)  
<class 'int'> >>> x = 2.3 >>> type(x) <class 'float'> >>> x = [2,3] >>> type(x) <class 'list'> 
>>> x = 2  
>>> type(x)  
<class 'int'> >>> x = 2.3 >>> type(x) <class 'float'> >>> x = [2,3] >>> type(x) <class 'list'>

一些函数归纳

部分函数:

abs(number),返回数字的绝对值

cmath.sqrt(number),返回平方根,也可以应用于负数

float(object),把字符串和数字转换为浮点数

help(),提供交互式帮助

input(prompt),获取用户输入

int(object),把字符串和数字转换为整数

math.ceil(number),返回数的上入整数,返回值的类型为浮点数

math.floor(number),返回数的下舍整数,返回值的类型为浮点数

math.sqrt(number),返回平方根不适用于负数

pow(x,y[.z]),返回X的y次幂(有z则对z取模)

repr(object),返回值的字符串标示形式

round(number[.ndigits]),根据给定的精度对数字进行四舍五入

str(object),把值转换为字符串