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学习第二天的主要内容,如果未能解决你的问题,请参考以下文章

python学习第二天

Python学习第二天

Python学习第二天:面向对象之继承

python学习第二天

02-python 学习第二天

学习python的第二天之函数