格式化输出
python里面使用格式化输出主要用到%和format
%
python中常用%s来表示字符串,其实它是一个占位符或者叫格式符,用来占住一个位置并且指定该位置的变量格式是什么(比如字符串,整数,浮点数等等)后面再接变量名,这样在python代码运行的时候就会在占位符中按照其指定的格式填充后面指定的变量数据。
例如:
name = 'zhangsan'
age = 18
job = 'student'
print('name:%s\nage:%d\njob:%s'%(name,age,job))
常用占位符:
%s 字符串 (采用str()的显示)
%r 字符串 (采用repr()的显示)
%c 单个字符
%b 二进制整数
%d 十进制整数
%i 十进制整数
%o 八进制整数
%x 十六进制整数
%e 指数 (基底写为e)
%E 指数 (基底写为E)
%f 浮点数
%F 浮点数,与上相同
案例1:打印浮点数并控制小数位数
print('商品原价为%.2f,折扣价为%.2f'%(207.99,187.45))
案例2:指定占位符宽度
print ("Name:%10s\nAge:%8d\nHeight:%8.2f"%('tom',22,1.80))
format
Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。
基本语法是通过 {} 和 : 来代替以前的 % 。
format 函数可以接受不限个参数,位置可以不按顺序。
例如:
print('{} {}'.format('hello','world'))# 顺序匹配,不指定位置
print('{1} {2} {0} {3}'.format('2','1','3','4'))# 设置指定位置
- 在指定位置时从0开始匹配,上例中即{1}——1,{2}——3,{0}——2,{3}——4
while else 语句
该语句并不常用,只是会在某些特定需求时才会用到,在其while循环中,如果遇到break跳出循环后则不执行else后面的语句,否则便会执行。
n = 5
while n < 10:
n = n + 1
if n !=9:
print(n)
else:
break
else:
print(100)
如果将break改为pass,则会多显示100
初始编码
编码:
因为计算机并不识别人类的语言文字,而只会识别01代码,所以早期研究开发计算机的人士使用一张编码表来一一定义哪些01代码对应哪些字符,即在ascii码中a对应的ascii的97,而97为10进制,将其换算为2进制即为 0110 0001 ,这样每个字符都有唯一标识的01代码,就可以完成人类语言与计算器语言的转换了。
编码方式:
ascii:
最早期的编码方式,因为计算机是美国人发明的而美国人的语言只有26的英文字母,区分大小写也才52位,加上一些符号啥的,使用7位的内存空间就足够了,但是考虑到拓展,所以ascii为8位bit,即有256种唯一标识。
utf-8:
在计算机发展到全球后,ascii的256种可能早已不能满足需求了,尤其是针对中文,中文汉字可是有9W多个的,所以开发出来了utf-8编码,utf-8采用32位bit,即4个字节(byte)。其可用空间远远不止9W,这也是当今用的最多的一种编码方式。
计算机存储转换:
0000 00001 == 8位bit == 1个字节(byte)
1024byte == 1kb
1024kb == 1MB
1024MB == 1GB
1024GB == 1TB
运算符
加减乘除:+ - * / 幂运算:** 求余运算:% 整除运算: //
逻辑运算符:and or not
优先级:not >and>or 同级从右往左算
例如:1
print(3>4 or 4>5 and 8<10 or 6<1 and 7<9)
print(3>4 and 4>5 or 8<10 and 6<1 or 7<9 and 5<10)
print(3>4 and 4>5 or 8<10 and 6<1 or 7<9 and 5>10 or 8>4)
例如:2
#x or y 中,如果x位True 则返回y,反之亦然,在and中则于or恰恰相反
print(3 or 4)
print(0 or 1)
print(1 or 5)
print(0 or 2)
print(3 and 4)
print(0 and 1)
print(1 and 5)
print(0 and 2)
例如:3
print(0 or 4 and 3 or 2)
print(1 > 2 and 3 or 4 and 3 < 2)
print(2 or 1 < 3 and 2)