小白记录一下python学习中容易混淆的部分
持续更新…(熟人大佬轻点喷QAQ)
1:
学习 Python 与其他语言最大的区别就是,Python 的代码块不使用大括号 {} 来控制类,函数以及其他逻辑判断。python 最具特色的就是用缩进来写模块。
缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。
2:
print 默认输出是换行的,如果要实现不换行需要在变量末尾加上逗号 , 。
3:
在Python中“/”表示浮点数除法,返回浮点结果,也就是结果为浮点数,而“//”在Python中表示整数除法,返回不大于结果的一个最大的整数,意思就是除法结果向下取整。
4:
关于输入:
输入一个数字直接 m = int(input())
输入两个数字就是 m, n = map(int, input().split())
输入三个及三个以上就和两个的类似:
a, b, c = map(int, input().split())
a, b, c, d = map(int, input().split())
5:
关于输出:
end=’ ’ 为末尾end传递一个空字符串,这样print函数不会在字符串末尾添加一个换行符,而是添加一个空字符串,其实这也是一个语法要求,表示这个语句没结束。
print默认是打印一行,结尾加换行。end=’ '意思是末尾不换行,加空格
6:
str.format(),它增强了字符串格式化的功能。基本语法是通过 {} 和 : 来代替以前的 % 。数字补空 (填充右边, 宽度为9)
s="好好学习"
print("{:25}".format(s))#输出25个字符的宽度,默认左对齐
print("{:>25}".format(s))#输出25个字符的宽度,右对齐
print("{:*^25}".format(s))#输出25个字符的宽度,居中对齐,用*填充
7:格式化输出
类似于C中的 printf
>>> s
'Hello'
>>> x = len(s)
>>> print("The length of %s is %d" % (s,x))
The length of Hello is 5
格式化输出的总结:
(1). %字符:标记转换说明符的开始
n = "Aki"
"My name is %s" % n
字符串中的%后面会附带一个字母,代表着用来替换的变量的类型,比如说%d代表着你将替换到此处的变量是一个整数,而%s代表着一个字符串。
>>> "www.%s.com"%"zhihu"#字符串
'www.zhihu.com'
>>> "%dkm"%1990#整数型
'1990km'
>>> "%s %d %f"%("abc",123,3.21)#多个值
'abc 123 3.210000'
(2). 转换标志: - 表示左对齐;+ 表示在转换值之前要加上正负号;“”(空白字符) 表示正数之前保留空格;0 表示转换值若位数不够则用0填充
>>> pi = 3.141592653
>>> print('%010.3f' % pi) #用0填充空白
000003.142
>>> print('%-10.3f' % pi) #左对齐
3.142
>>> print('%+f' % pi) #显示正负号
+3.141593
(3). 最小字段宽度: 转换后的字符串至少应该具有该值指定的宽度。如果是*,则宽度会从值元组中读出。
>>> pi = 3.141592653
>>> print('%10.3f' % pi) #字段宽10,精度3
3.142
(4). 点(.)后跟精度值: 如果转换的是实数,精度值就表示出现在小数点后的位数。如果转换的是字符串,那么该数字就表示最大字段宽度。如果是*,那么精度将从元组中读出
>>> pi = 3.141592653
>>> print("pi = %.*f" % (3,pi)) #用*从后面的元组中读取字段宽度或精度
pi = 3.142
(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
8:字符串输出
%s
%10s——右对齐,占位符10位
%-10s——左对齐,占位符10位
%.2s——截取2位字符串
%10.2s——10位占位符,截取两位字符串