python note 02 格式化与判断、字符串转换

1、格式化输出%

 %s %d

name = input ('请输入姓名:')
age = input ('请输入年龄:')
height = input ('请输入身高:')

msg = "我叫%s,今年%s身高%s" %(name,age,height)
print(msg)

 

name = input('请输入姓名:')
age = input('请输入年龄:')
job = input('请输入工作:')
hobbie = input('你的爱好:')

msg = '''------------ info of %s -----------
Name  : %s
Age   : %d
job   : %s
Hobbie: %s
------------- end -----------------''' %(name,name,int(age),job,hobbie)
print(msg)

ps:输入的内容要与格式化输出的数量的相匹配

 

2、格式化输出如果有%,就用%%转义

name = input('请输入姓名')
age = input('请输入年龄')
height = input('请输入身高')
msg = "我叫%s,今年%s 身高 %s 学习进度为3%%s" %(name,age,height)
print(msg)

 

3、当while else 语句被break打断了,将不会执行else语句,将break改为pass,程序将继续执行else语句

count = 0
while count <= 5 :
    count += 1
    if count == 3:break
    print("Loop",count)

else:
    print("循环正常执行完啦")
print("-----out of while loop ------")

 

4、

最早的'密码本' ascii 涵盖了英文字母大小写,特殊字符,数字。
01010101
ascii 只能表示256种可能,太少,
创办了万国码 unicode
16表示一个字符不行,32位表示一个字符。
A 01000001010000010100000101000001
B 01000010010000100100001001000010
我 01000010010000100100001001000010
Unicode 升级 utf-8 utf-16 utf-32
8位 = 1字节bytes
utf-8 一个字符最少用8位去表示,英文用8位 一个字节
欧洲文字用16位去表示 两个字节
中文用24 位去表示 三个字节
utf-16 一个字符最少用16位去表示

gbk 中国人自己发明的,一个中文用两个字节 16位去表示。

1bit 8bit = 1bytes
1byte 1024byte = 1KB
1KB 1024kb = 1MB
1MB 1024MB = 1GB
1GB 1024GB = 1TB

 

5、逻辑运算优先级

#and or not
#优先级,()> not > and > or
print(2 > 1 and 1 < 4) # T
print(2 > 1 and 1 < 4 or 2 < 3 and 9 > 6 or 2 < 4 and 3 < 2) # T
print(3>4 or 4<3 and 1==1) # F
print(1 < 2 and 3 < 4 or 1>2) # T
print(2 > 1 and 3 < 4 or 4 > 5 and 2 < 1) # T
print(1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8) # F
print(1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6) # F
print(not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6) # F

#也可以从前往后看
True and ==> 继续看后面
True or ==> True
False and ==> False
False or ==> 继续看后面

 

ps:int ----> bool 非零转换成bool True,0 转换成bool 是False

print(bool(2)) # T
print(bool(-2)) # T
print(bool(0)) # F
# #bool --->int
print(int(True)) # 1
print(int(False)) # 0

 

'''x or y  若 x True,则返回x'''

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

 

'''x and y  若 x True,则返回y'''

print(1 and 2) # 2
print(0 and 2) # 0
print(2 or 1 < 3) # 2
print(3 > 1 or 2 and 2) # T

 #(以数字为例)从前往后看,如果遇到and,两边都为True的话输出后面的数字,如果一边为False则输出0.

 

6、字符串转换

#将字符串转化为数字

a = "123"
print(type(a),a)
#输出<class 'str'> 123
b = int(a)
print(type(b),b)
#输出<class 'int'> 123

#将八进制转化为十进制

num = "0100"
v = int(num, base= 8)
print(v)
#输出64

#将十六进制转化为十进制

num = "0100"
v = int(num, base= 16)
print(v)
#输出256

 

posted @ 2019-03-04 23:54  P-Z-W  阅读(170)  评论(0编辑  收藏  举报