Python学习之格式化简述

2.2 格式化输出

2.2.1 占位符

%s就是代表字符串占位符;%d数字占位符,%i 也可以表示数字,如果把变量后⾯的换成%d,就代表必须只能输⼊数字这时对应的数据必须是int类型. 否则程序会报错,因此有时我们需要进行类型转换。

int(str) # 字符串串转换成int
str(int) # int转换成字符串串

​ 注意:如果想要输出%而不是把它当作占位符输出,需要使用%%格式表示%转译成字符串。

2.2.2 类型一:%占位

注意:

​ 1.占位符的数量与填充的数量必须要一直,不一致时程序报错。

​ 2.填充时,内容与占位符顺序必须一直

name = input('请输入姓名')
age = input('请输入年龄')
hobby = input('爱好是啥')
gsh = '我是%s,年龄%s,爱好%s' %('name','age','hobby')
print(gsh)
name = input("name :")
age = input("age:")
job = input("job:")
inf = '''
--------------inf of %s-------------
name : %s  #显示名字
age : %d   #显示年龄
job : %s   #显示职业
------------------------------------
''' %(name,name,int(age),job)  #这里的% 就是把前边的变量和括号里的变量连接起来
print(inf)

注意:在对age进行类型转换时,需使用int(age),要在使用时进行转换或者用下边的方式进行重新转换赋值

age = input("age:")
age = int(age)

2.2.3 类型二 f{}占位

f"alex{ },{'aa'}",3.6版本及以上才能使用,aa如果没有引号表示变量名,对其应有赋值运算。

msg = f'''
name:{input('name:')}
age:{input('age:')}
sex:{input('sex:')}
job:{input('job:')}
'''
print(msg)

注意''," ",''' ''',""" """之间的嵌套区别使用,例:

f"name:{},{"name"}"  #两个""的连续使用,致使name无效,程序报错

2.3.1 算数运算

a = 10 b = 21

运算符 描述 示例
+ 加法运算 a + b = 31
- 减法运算 a - b = -11
* 乘法运算 a * b = 210
/ 除法运算 b / a =2.1
% 模运算,返回余数 b / a = 1
** 幂运算 a**b ,10的21次方
// 整除取余 b // a = 2

2.3.2 比较运算

a = 10 b = 20

运算符 描述 示例
== 相等为真 a == b 为Flase
!= 不相等为真 a != b为True
> 左边大于右边为真 a > b 为Flase
< 右边大于左边为真 a < b 为True
>= 左边大于等于右边为真 a>=b 值为Flase
<= 右边大于等于左边为真 a <= b值为True

2.3.3 赋值运算

a = 10 b = 20

运算符 描述 示例
= 简单的赋值运算 c = a + b = 30
+= j加法赋值运算 c += a等价于c = c + a
-= 减法赋值运算 c -= a 等价于 c = c - a
*= 乘法赋值运算 c *= a 等价于 c = c * a
/= 除法赋值运算 c /= a 等价于 c = c / a
%= 取模赋值运算 c %= a 等价于 c = c % a
**= 幂赋值运算 c **= a 等价于 c = c ** a
//= 整除赋值运算 c //= a 等价于 c = c // a

2.3.4 逻辑运算符

假设变量a的值为True,变量b的值为False

运算符 描述 示例
and 如果两个操作数都为真,则条件成立 (a and b)的结果为False
or 如果两个操作数中的任何一个非零,则条件成为真 (a or b)的结果为True
not 用于反转操作数的逻辑状态 not(a and b) 的结果为True

针对逻辑运算的进⼀步研究:**

  1.在没有()的情况下not 优先级高于 and,and优先级高于or,即优先级关系为( )>not>and>or,同一优先级从左往右计算。运算符要作为整体进行比较
( ) > not > and > or

​ 2.x or y , x为真,值就是x,x为假(x是0),值是y

​ x and y, x为真,值是y,x为假,值是x

2.3.5 编码问题

​ python2解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ASSIC),⽽python3对内容进行编码的默认为utf-8。

​ 最早的计算机编码是ASCII。 有英文+数字+特殊字符 8bit => 1byte 没有中文, 后面的编码必须兼容ASCII。

​ GBK 把中国的文字进行编码。对ASCII扩充。 16bit => 2byte 主要包含了中文, 日文, 韩文, 英文(兼容ASCII)

​ UNICODE 32bit 兼容各个国家的编码-万国码- 浪费空间 32bit => 4byte

​ UTF-8 可变长度的UNICODE,本质是UNICODE。

​ 英文在UTF-8——占用1个字节 8bit

​ 欧洲文字——占用2个字节 16bit

​ 中文——占用3个字节 24bit

​ UTF-16,最少用2个字节

8bit = 1byte

1024byte = 1KB

1024KB = 1MB

1024MB = 1GB

1024GB = 1TB

1024TB = 1PB

1024PB = 1EB

1024EB = 1ZB

1024ZB = 1YB

1024YB = 1NB

1024NB = 1DB

2.3.6 成员运算符in、not in

1. while
while 条件:
	循环体
else: 
    循环在正常情况跳出之后会执⾏该命令
#例子
index = 1
while index < 11:
	if index == 8:
		# break
		pass
	else:
		print(index)
	index = index+1
else:print("你好")

注意:

​ 如果循环是通过break退出的. 那么while后⾯面的else将不会被执行, 只有在while条件判断是假的时候才会执行这个else。

​ pass: 不表⽰任何内容,为了代码的完整性,占位而已,目的是不妨碍下边命令继续运行

2. in 、not in

可以判断某一小部分字符串是否出现在其他字符串中

content = input("请输入你的评论")
if "hello" in content or 'hello world' in content:
	print('您输入的字符不在该范围内')
else:
	print("在在在")

2.3.7 身份运算

is --》是

is not --》不是

posted @ 2019-06-04 17:36  Aries-X  阅读(223)  评论(0编辑  收藏  举报