Python自学之路之day02-运算符和编码
一、格式化输出
1)生活或者工作中,我们常会看到人物介绍的一些信息:
------------ info of liulang ---------- Name : Liu Lang Age : 22 job : mage family: 符文之地
---------- end ----------
代码:
name = input("名称:") age = input("年龄:") job = input("职业:") family = input("家族:") info = """ ---------- info of %s ---------- Name : %s Age : %s Job : %s Family: %s ---------- end ---------- """ %(name,name,age,job,family) print(info)
%s就是字符串占位符,%d是数字占位符,如果你指定占位符类型,那只能输入对应的字符类型,否则会出错
字符串与数字类型相互转换
int(str) # 字符串转换成int str(int) # int转换成字符串
2)如果想在格式化输出时,直接输出%我们需要使用2个%进行转义
例如:
print("我叫%s,我的职业是%s,我的工作已经完成了80%。" %("huahau","运维"))
这里面80%会报错,因为在字符串中已经出现%s占位符,python解释器会把所有的%都当成占位符,所以这里80%也会被认为是一个占位符,当然我们这里实际只传入2个占位符的值,所以会报错。
如果想要使用%,那么只需要用%%即可
print("我叫%s,我的职业是%s,我的工作已经完成了80%%。" %("huahau","运维")) # 有%占位符 print("我叫花花,我的职业是运维,我的工作已经完成了80%。" ) # 没有占位符
二、基本运算符
计算机有多种运算,常见的运算有:算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算。
1)算数运算
以下假设变量a=10,b=20

2)比较运算
以下假设变量a=10,b=20

3)赋值运算
以下假设变量a=10,b=20

4)逻辑运算
以下假设变量a=10,b=20

逻辑运行进阶:
逻辑运算优先级not > and > or
1、判断实例:
3>4 or 4<3 and 1==1 ## False 1 < 2 and 3 < 4 or 1>2 ## True 2 > 1 and 3 < 4 or 4 > 5 and 2 < 1 ## True 1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8 ## False 1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6 ## False not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6 ## False
2、 x or y , x为真,值就是x,x为假,值是y。
x and y, x为真,值是y,x为假,值是x。
实例:
### x or y x True,则返回x
### x and y x True,则返回y
# print(1 or 2) # 1 # print(3 or 2) # 3 # print(0 or 2) # 2 # print(0 or 100) # 100
# print(2 or 100 or 3 or 4) # 2
# print(0 or 4 and 3 or 2) # 3
# print(2 or 1 < 3) #2
# print(3 > 1 or 2 and 2) #True
# print(3 < 1 or 2 and 2) #2
# print(3 < 1 or 0 > 1 and 3) # False
# 0 or 5 < 4 # False
# 3 > 1 and 2 or 2 < 3 and 3 and 4 or 3 > 2 # 2
三、编码
早期. 计算机是美国发明的. 普及率不高, 一般只是在美国使用. 所以. 早的编码结构就是按照美国人的习惯来编码的. 对应数字+字母+特殊字符一共也没多少. 所以就形成了早的编码ASCII码. 直到今天ASCII依然深深的影响着我们.
ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电 脑编码系统,主要用于显示现代英语和其他西欧语言,最多只能用 8 位来表示(一个字节),即:2**8 = 256,所 以,ASCII码多只能表示 256 个符号。
8位为一个字节(1bytes)
ascii 只能表示256种可能,中文有几万多个,已经无法满足。
unicode:一开始设计是每个字符两个字节.设计完了.发现我⼤大中国汉字依然无法进行编码.只能进行扩充. 扩充成32位也就是4个字节.这回够了.但是.问题来了.中国字9万多. 而unicode可以表⽰示40多亿. 根本用不了.太浪费了.于是乎,就提出了新的UTF编码.可变长度编码。
UTF-8: 每个字符最少占8位. 每个字符占用的字节数不定.根据文字内容进行具体编码. 比如. 英文. 就一个字节就够了. 汉字占3个字节.这时即满足了中文.也满足了节约. 也是目前使用频率最高的一种编码。
UTF-16: 每个字符最少占16位.
GBK: 中国自己发明,每个字符占2个字节, 16位.
单位转换: 1bit 8bit = 1bytes 1byte 1024byte = 1KB 1KB 1024kb = 1MB 1MB 1024MB = 1GB 1GB 1024GB = 1TB
计算机存储,最终也是0101二进制方式存储到硬盘上。

浙公网安备 33010602011771号