python中print函数⽤法总结
Python 思想:
“⼀切都是对象!”
在 Python 3 中接触的第⼀个很⼤的差异就是缩进是作为语法的⼀部分,这和C++等其他语⾔确实很不⼀样,所以要⼩⼼,其中python3和python2中print的⽤法有很多不同,python3中需要使⽤括号
缩进要使⽤4个空格(这不是必须的,但你最好这么做),缩进表⽰⼀个代码块的开始,⾮缩进表⽰⼀个代码的结束。没有明确的⼤括号、中括号、或者关键字。这意味着空⽩很重要,⽽且必须要是⼀致的。第⼀个没有缩进的⾏标记了代码块,意思是指函数,if 语句、 for 循环、 while 循环等等的结束。
输⼊很简单
1. x = input("Please input x:")
2. Please input x:
1. 字符串和数值类型
可以直接输出
1. >>> print(1)
2. 1
3. >>> print("Hello World")
4. Hello World
2.变量
⽆论什么类型,数值,布尔,列表,字典...都可以直接输出
1. >>> x = 12
2. >>> print(x)
3. 12
4. >>> s = 'Hello'
5. >>> print(s)
6. Hello
7. >>> L = [1,2,'a']
8. >>> print(L)
9. [1, 2, 'a']
10. >>> t = (1,2,'a')
11. >>> print(t)
12. (1, 2, 'a')
13. >>> d = {'a':1, 'b':2}
14. >>> print(d)
15. {'a': 1, 'b': 2}
3.格式化输出
类似于C中的 printf
2. 'Hello'
3. >>> x = len(s)
4. >>> print("The length of %s is %d" % (s,x))
5. The length of Hello is 5
看看《Python基础编程》中对格式化输出的总结:
(1). %字符:标记转换说明符的开始
(2). 转换标志:-表⽰左对齐;+表⽰在转换值之前要加上正负号;“”(空⽩字符)表⽰正数之前保留空格;0表⽰转换值若位数不够则⽤0填充
(3). 最⼩字段宽度:转换后的字符串⾄少应该具有该值指定的宽度。如果是*,则宽度会从值元组中读出。
(4). 点(.)后跟精度值:如果转换的是实数,精度值就表⽰出现在⼩数点后的位数。如果转换的是字符串,那么该数字就表⽰最⼤字段宽度。如果是*,那么精度将从元组中读出
(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对象)
1. >>> pi = 3.141592653
2. >>> print('%10.3f' % pi) #字段宽10,精度3
3.      3.142
4. >>> print("pi = %.*f" % (3,pi)) #⽤*从后⾯的元组中读取字段宽度或精度
5. pi = 3.142
6. >>> print('%010.3f' % pi) #⽤0填充空⽩
7. 000003.142
8. >>> print('%-10.3f' % pi) #左对齐
9. 3.142
10. >>> print('%+f' % pi) #显⽰正负号
11. +3.141593
4.如何让 print 不换⾏
在Python中总是默认换⾏的
printf函数的用法python1. >>> for x in range(0,10):
3.
4.
5. 0
6. 1
7. 2
8. 3
9. 4
10. 5
11. 6
12. 7
13. 8
14. 9
如果想要不换⾏,之前的 2.x 版本可以这样 print x, 在末尾加上 ,但在 3.x 中这样不起任何作⽤
要想换⾏你应该写成 print(x,end = '' )
1. >>> for x in range(0,10):
2.    print (x,end = '')
3.
4.
5. 0123456789
拼接字符串:
1. >>> "Hello""World"
2. 'HelloWorld'
3. >>> x = "Hello"
4. >>> y = "world"
5. >>> xy
6. Traceback (most recent call last):
7.  File "<pyshell#10>", line 1, in <module>
8.    xy
9. NameError: name 'xy' is not defined
10. >>> x+y
11. 'Helloworld'
pow函数:
1. # 2**3%5(2的3次幂对5取模)
2. >>> pow(2,3,5)
3. 3
然后很重要⼀点是类型可以⾃由地转换,你赋什么值,变量就是什么类型,python会⾃动帮你管理这点真让我的C++思维转不过来呢
1. >>> x = 2
2. >>> type(x)
3. <class 'int'>
4. >>> x = 2.3
5. >>> type(x)
6. <class 'float'>
7. >>> x = [2,3]
8. >>> type(x)
9. <class 'list'>
部分函数:
abs(number),返回数字的绝对值
cmath.sqrt(number),返回平⽅根,也可以应⽤于负数
float(object),把字符串和数字转换为浮点数
help(),提供交互式帮助
input(prompt),获取⽤户输⼊
int(object),把字符串和数字转换为整数
math.floor(number),返回数的下舍整数,返回值的类型为浮点数
math.sqrt(number),返回平⽅根不适⽤于负数
pow(x,y[.z]),返回X的y次幂(有z则对z取模)
repr(object),返回值的字符串标⽰形式
round(number[.ndigits]),根据给定的精度对数字进⾏四舍五⼊
str(object),把值转换为字符串