Python基础知识二
一:格式化输出
现有一练习需求,问用户的姓名、年龄、工作、爱好 ,然后打印成以下格式
------------ info of Alex Li ------
Name : Alex Li
Age : 22
job : Teacher
Hobbie: girl
------------- end -----------------
第一种方法:
name = input('请输入你的姓名:') age = int(input('请输入你的年龄:')) job = input('请输入你的工作:') hobby = input('请输入你的爱好:') info = ''' ------------ info of %s ------ Name : %s Age : %d job : %s Hobbie: %s ------------- end ------------ '''%(name,name,age,job,hobby) print(info)
第二种方法:
name = input('请输入你的姓名:') age = int(input('请输入你的年龄:')) job = input('请输入你的工作:') hobby = input('请输入你的爱好:') info = ''' ------------ info of %(name)s ------ Name : %(name)s Age : %(age)d job : %(job)s Hobbie: %(hobby)s ------------- end ----------------- '''%{'name':name,'age':age,'job':job,'hobby':hobby} print(info)
二while else
用户登陆(三次之后选择是否继续试)
i = 1 while i < 4: username = input('请输入你的姓名:') password = input('请输入你的密码:') if username == 'abc' and password == 'ecd': print('欢迎') break else: print('请重新输入') i += 1 if i == 4: answer = input('是否还要再试试?/Y') if answer == 'Y': i = 1 else: print('滚犊子')
三:逻辑运算符
+ 加 == 等于
- 减 != 不等于
* 乘 <> 不等于
/ 除 > 小于
// 商 < 小于
% 取余 >= 大于等于
** 幂 <= 小于等于
四:not,or,and
优先级:( )>not>and>or
1.前后都是比较的条件
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
2.前后都是数字
print(1 or 2) 1
print(2 or 3) 2
print(0 or 2) 2
print(0 or 3) 3
x or y if x 为 True,则值是x ;else:值是y.
and 与 or 相反
五:编码的历史
计算机:
储存文件,或者是传输文件,实际上是010101010
计算机创建初期,美国,二进制,
密码本:
ascii
00000001
01000001 01000010 01000011 ABC
因为全球语言很多,ascii不足以存储这么多对应关系,创建了一个超级密码本:万国码unicode
8 位 == 1个字节.
hello h一个字符,e一个字符,he就不是一个字符.
中国:中是一个字符,国是一个字符.
unicode :
创建之初,16位,2个字节,表示一个字符.
英文: a b c 六个字节 一个英文2个字节
中文 中国 四个字节 一个中文用2个字节
改成 32位,4个字节,表示一个字符.
a 01000001 01000010 01000011 00000001
b 01000001 01000010 01100011 00000001
中 01001001 01000010 01100011 00000001
浪费资源.
对Unicode进行升级: utf-8
utf-8 用最少用8位数,去表示一个字符.
英文: 8位,1个字节表示.
欧洲文字: 16位,两个字节表示一个字符.
中文,亚洲文字: 24位,三个字节表示.
utf-16 用最少用16位数.
gbk:
国标,只能中国人自己用, 一个中文用16位,两个字节表示.
单位转化:
8位bit 8bit == 1bytes
1024bytes == 1kB
1024KB == 1MB
1024MB == 1GB
1024GB == 1TB
六:in ,not in 用法
in s = '我在老男孩上课' print('上课' in s) not in comment = input('请输入你的评论:') s1 = '妹子' if s1 in comment: print('含有非法字符') else: print('评论成功')