python学习第二天
Posted shannanshui
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习第二天相关的知识,希望对你有一定的参考价值。
格式化输出之%占位符
- “%s”相当于占位符,表示需要替换的内容的类型,%s表示替换的内容为字符串类型。(s是字符串str的简写)
- "%d"表示替换的内容为数字类型。(d表示digit的简写)
name=input(‘请输入姓名:‘) age=int(input(‘请输入年龄:‘)) height=input(‘请输入身高:‘) print(‘大家好,我是%s,今年%d了,我的身高是%s‘%(name,age,height))
#注:格式化占位符要与替换的内容在顺序关系上一一对应,顺序打乱了,输出的内容也将不能对应
- 格式化输出中,占位符%和百分号不能够混用,否则会报错,因此,在混用的时候,需要将百分号%进行转义,即在需要的转义的百分号%之前加上一个百分号%,表现为%%
name=input(‘请输入姓名:‘) age=int(input(‘请输入年龄:‘)) height=input(‘请输入身高:‘) process=float(input(‘输入学习进度:‘)) print(‘大家好,我是{},今年{}了,我的身高是{},我的学习进度是{}%‘.format(name,age,height,process)) print(‘大家好,我是%s,今年%d了,我的身高是%s,我的学习进度是%s%%‘%(name,age,height,process))
#注:在format格式化输出形式中,百分号%是可以混用的
格式化输出之format占位符
- 在字符串中由“{}”进行占位,在字符串结尾用“.format()”进行格式输出,其中括号内的就是占位符中需要替换的内容
- format格式化内容贺占位符既可以按照顺序一一对应,也可以在占位符{}中输入序号(序号从0开始),如{0},替换格式化内容中相应序号位置的内容
name=input(‘请输入姓名:‘) age=input(‘请输入年龄:‘) job=input(‘请输入工作:‘) hobbie=input(‘请输入爱好:‘) msg=‘‘‘------------ info of {2} ----------- Name : {2} Age : {3} job : {0} Hobbie: {1} ------------- end -----------------‘‘‘.format(job,hobbie,name,age) print(msg)
#注:format格式化内容由于可以按照序号对应的占位符之中,不必像%格式化内容必须同占位符在位置上一一对应
while else语句
-
while 条件: 循环体 else: 循环体被break关键字打断时才执行的语句
#当while循环体没有被break关键字打断时,else的语句将被执行,如果while循环体被break关键字打断,else语句将不会被执行
num=5 while num: print(num) num-=1 else: print(‘循环没有被break打断‘)
num=5 while num: print(num) num-=1 if num==1:break else: print(‘循环没有被break打断‘)
初识编码
- 电脑的传输与储存,实际上都是二进制,即0101011101.......
- 确定二进制与字符一一对应关系的形式叫:字符编码
- 第一个字符编码时美国的ascii码,一共是8个二进制位表示一个字节。#最初ascii码是7位,设计者预留了一位,方便今后拓展,形成了最终8位的ascii码,所以ascii码最左位都是0
- 一个字节等于八个二进制位,即:1byte=8bit;1kb=1024byte;1MB=1024kb;1GB=1024MB;1TB=1024GB;1PB=1024TB
- ascii码最多只能表示256个字符,远远不能兼容世界各国的语言文字,因此万国码Unicode应运而生:起初Unicode用两个字节(8个二进制位)表示,光中文字符高达9万个,明显不够用,最后改为用四个字节(32个二进制位)表示
- 32位可以表示的字符多达4294967296个,世界上所有的文字加起来都根本用不完,这样不仅很浪费,而且每个字符占用的空间就是ascii码的四倍,占用大量的存储空间,因此Unicode的升级版utf-8就出现了:根据文字的不同,字符所占用的字节数不同,英文用一个字节(8位)表示,欧洲地区文字用两个字节(16位)表示,亚洲地区(中日韩等)字符用三个字节(24位)表示
- 注:中国有自己的字符集,叫做gbk2312,是基于ascii码创制的,因此只包含中英文两种字符,一个中文用两个字节(16位)表示,只能支持65536个中文,不能涵盖全部中文,最多只能在国内使用,因此ufr-8使用的更为广泛。
基本运算符
- 算术运算符:加(+)、减(-)、乘(*)、除(/)、取余(%)、地板除(//,也叫取商运算)、幂运算(**)
a=5/2 b=5%2 #取余运算,只取除法运算的余数部分 c=5//2 #取商运算,也叫地板除,是只取除法运算的整数部分 print(a,b,c)
- 比较运算符:等于(==,注意区分赋值运算符=)、不等于(!= 或 <>,其中规范用法为!=)、大于(>)、小于(<)、大于等于(>=)、小于等于(<=)。#比较运算返回的结果是bool值
- 赋值运算符:赋值(=,注意区分比较运算符==)、加法赋值(+=)、减法赋值(-=)、乘法赋值(*=)、除法赋值(/=)、取余赋值(%=)、取商赋值(//=)、幂运算赋值(**=)。# a+=1 等同于a=a+1,同理,a**=5 等同于a=a**5
- 逻辑运算符:not(否)、and(且)、or(或)。#在没有()的情况下,not优先级高于and,and优先级高于or,即优先级:()>not>and>or
print(3>4 or 4<3 and 1==1) #False print(1 < 2 and 3 < 4 or 1>2) #True print(2 > 1 and 3 < 4 or 4 > 5 and 2 < 1) #True print(1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8) #False print(1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6) #Ealse print(not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6) #False
- x and y:如果x为True,则取y;如果x为False,则取x
- x or y :如果x为True,则取x;如果x为False,则取y
print(8 or 4) #取4 print(0 and 3) #取0 print(0 or 4 and 3 or 7 or 9 and 6) #取3
#注:数字与bool值的转换,所有非0的数字,转换成bool值为True,0转换成bool值为False
print(bool(2),bool(-2),bool(2.2),bool(0))
#练习题 print(1>2 and 3 or 4>3 and 2) #2 print(1>2 and 3 or 5 and 3>4) #False
#规律:先优先级,优先级考虑完之后,从左往右,按照取结果规则(and和or的取值规则),取到什么是什么
以上是关于python学习第二天的主要内容,如果未能解决你的问题,请参考以下文章