美文网首页
Python学习总结【连载】(二)

Python学习总结【连载】(二)

作者: Juttachen_8e9d | 来源:发表于2018-06-15 11:54 被阅读27次

    Python学习总结【连载】(二)

    2018.06.13 Juttachen


    概述

    + 06 运算符

    • 算数运算符
    • 比较运算符
    • 赋值运算符
    • 逻辑运算符
    • 运算符的优先级

    + 07 字符串

    • 概念
    • Unicode编码
    • Python 中Unicode编码与字符串的转换
    • 字符串的长度
    • 获取字符/子串
    • 字符串的运算符

    + 08 print函数的使用

    • print函数的普通用法
    • print函数的高级用法

    + 09 字符串的内置函数

    • 控制字符串的大小写函数
    • 控制字符串的长度函数

    六、运算符

    1. 算数运算符

    参见《Python学习总结【连载】(一)》文末。

    2. 比较算数符

    分为 >(大于),<(小于),>=,<=,==(等于),!=(不等于)。
    所有比较运算符的结果都是布尔值
    x>y :比较x是否大于y,如果是,结果就是True,否则是False
    x>=y:x大于或等于y都正确
    x==y :比较x,y是否相等(一个=就是赋值,两个=才是相等)
    例子:

        print(10>5)
        print('abcdef'>'bcd') 
    

    由第二排代码可知,字符串也可以比较。
    比较字符串的大小的时候,不是比较两个字符串的长度,而是从第一个字符开始比较,如果第一个字符串第一个符大于第二个字符串的第一个字符,结果就是ture,否则false。
    如果两个字符串的第一个字符相等他们才会比较到第二个字符,依次类推。
    原理:字符串比较其实是编码大小的比较,字符串长度不一样的话,短的字符串用0来补位,0最小。

    3.赋值运算符

    赋值运算符有 = ,+= ,-= ,= ,/= ,%= ,//= ,*= 几种。
    所有的赋值运算符左边都必须是 变量,右边是 表达式

    补充:表达式:本身有值的语句,比如:10,a,10+a,10>20,10+20/43等。
    表达式的值都是布尔值。*

        # a + 10 = 10 #右边不是变量,就会报错 SyntaxError: can't assign to operator
        a = 30
        b =20
        b=a 
    

    如果a的值是基本数据类型(数字,字符串),直接将a里面存的赋值给b;如果值是对象,传递的则是变量中存储的地址。

        a += 1
        print(a)
        a +=10 # a = a+10
        print(a)
    

    其他赋值运算符与例子中的+=相似。
    复合赋值运算符中不能有空格,要紧挨一起,不然报错。

    4.逻辑运算符

    逻辑运算符由 and(与),or(或),not(非)组成。
    运算符and的判断方式:
    表达式1 and 表达式2 :两个表达式的值都是true的话结果才是true。(and 即并且,是true的情况只有一种)

        print(True and True)
        print(True and False)
        print(False and False)
        print(False and False)
    

    例子:
    应用场景 网吧年龄
    要求:1.年龄大于18并且小于50
    2.颜值不能低于80

        age = 40
        face = 90
        result = age>18 and age<50
    

    and face>= 80
    print(result)

    运算符or的判断方式:
    表达式1 or 表达式2:两个表达式的值都为False,结果才是False,否则是Tru。(or 即为或者)

        print(True or True)
        print(True or False)
        print(False or True)
        print(False or False)
    

    例子:
    应用场景 奖学金
    1.奖学金要求:绩点大于8.5或者操评大于90
    2.奖学金新要求:1.绩点大于9.7
    2.成绩8.5~9.7,操评大于85

        grade =9.0
        score =70
        result= grade>8.5 or score >90
        print(result)
    
        result=grade>9.7 or (grade>=8.5 and grade<=9.7 and score>85)
        print(result)
    

    运算符的not判断方式:
    如果表达式的值为真,结果就是假;表达式的值为假,结果就是真。

        print(not True)
        print(not False)
    

    应用场景 判断成绩是否及格
    要求:成绩不小于6

        grade =5 #给变量赋值的时候,后面赋的值会覆盖前面的值
        result = not(grade<6)
        print(result)
    

    练习:进入游乐场的年龄
    要求:不大于12岁的,并不小于2岁

        age =10
        result = not(age>12) and             not(age<2)
        print(result)
        # 简单用法
        result = (not age>12) and (not age<2)
        # 要注意语句之间的关系,什么相关什么不相关。
    

    5.运算符的优先级(由低到高)

    赋值运算符<逻辑运算符<比较运算符<加减<乘除,取余,整除,幂运算<取正负

    在运算表达式中,加()可以改变运算优先级,改变运算顺序。

    七、字符串

    1.概念

    由单引号或双引号括起来的文本。
    python中的字符串都是Unicode字符串。

    2.Unicode编码

    Unicode编码

    1. 就是一种对字符的编码方式。(将字符编码成对应的数字,方便计算机存储)
    2. Unicode编码又称万国码,是支持目前几乎所有的语言文字编码。
    3. Unicode编码包含ASCII码。
      数据存储到计算机中是以二进制的形式存的。(二进制是数字)
      ASCII码中(大写大小)小于(小写大小)

    3.Python 中Unicode编码与字符串的转换

    将Unicode码转换成字符

        char = chr(0x4e00)
        print(char)
        char= chr(0x4e01)
        print(char)
    

    将字符转换成Unicode码
    结果是十进制形式

        code = ord('宁')
        print(code)
    
        for x in range(0x4e00,0x9FA5):
            print(chr(x),end='')
        print()
        #Unicode中文字符表
    

    '''
    字符串比大小的时候,实质就是比字符的Unicode编码的大小

    4.字符串的相关运算

    字符串的长度
    就是指字符串中字符的个数

        'abc' #长度为3
        ' 12' #长度为3
        # len('字符串'):获取字符串长度
        str1 = '你好,Python'
        length = len(str1)
        print(length)
    

    获取字符/子串
    a.获取某一个字符
    格式:字符串变量【下标】(下标:从零开始的数字,代表的是某一个字符在字符串中的偏移量(位置))
    (范围:0字符串长度-1[0len-1]或者-1-字符串长度[-1len])

        str1 = 'Hello,Python'
        print(str1[0]) #获取第0个字符
        print(str1[5]) #获取从0开始数的第五个字符
        # print(str1[20]) # 超出长度,报错IndexError: string index out of range
        print(str1[-1]) #获取的是倒数第一个字符(最后一个)
        print(str1[-2]) #获取倒数第二个字符
        # print(str1[-13]) # 超出长度,报错IndexError: string index out of range
        print(str1[len(str1)-1])
    

    b.获取字符串中某部分的字母(获取子串)
    格式:字符串变量【开始下标:结束下标】---->获取从开始下标到结束下标的所有字符
    注意:开始下标对应的字符可以取到,结束下标对应的字符时候取不到的。

        print(str1[1:4]) #获取从下标是1开始,到下标是(4-1)的所有的字符
        print(str1[6:10])
        #开始下标不写,默认从0开始
        print(str1[:6])  #获取从开始到下标是5为止的所有的字符
        #结束下标不写,就会取到最后一个字符
        print(str1[-4:])
        # 同理前后不写就是取完所有字符
        # 如果结束下标在开始下标的前面(左前右后),就会取不到字符(不能倒着取)
        print(str1[5:1])
    

    字符串的运算符
    字符串的运算符: +,,in ,not in*
    +:字符串连接

    str1='o'
    str2='m'
    str3=str1+str2+'g'

    :字符串中的操作,就是字符串重复多少次

        str2 +='!' #str2 = str2+'!'
        print(str3*3+','+str2)
    

    in:字符串1 in 字符串2:判断字符串2中是否包含字符串1,结果是布尔值

        str1='Hello'
        print('he' in str1)   #判断'He'是否在str1里面(判断str1中是否包含'He')
    

    not in:字符串1 not in 字符串2:刚好和in相反,判断是否没有。

    八、print函数的使用

    1. print函数的普通用法

    print()函数可以打印括号中的任何内容。
    每次调用print函数打印完后会换行。

        print(10)
        str1='aaa'
        print(str1)
    

    同时打印多个内容,多个内容可以用逗号隔开;打印的时候,多个内容之间用空格隔开的。

        print("aa",100,str1)
    

    2. print函数的高级用法

    格式化输出
    比如:我是xxx,今年xx岁
    格式:print('%s %d'%(var1,var2)):
    在输出字符串的时候,在字符串中使用字符串格式符表示变化的内容。
    然后在%后面的括号里面,依次使用表达式给前面的字符串格式符赋值。

    常用格式符
    %s:字符串
    %d:整数
    %f:浮点数
    %c:字符或编码
    %o:八进制
    (注意这些(包括数字)都是字符串)
    %X/%x 十六进制

    例子:
    name = '张山'
    age = 18
    print("我是%s,今年%d岁"%(name,age))

        #%f的使用方式:
        print('余额:%f万元'%(10.25)) #默认保留小数点后六位
        print('余额:%.2f万元'%(10.25)) #%.2f 保留小数点的后两位,%.3 保留小数点后三位
        # %c的使用方式
        print('%c'%('a')) #打印的是a,注意一定要是字符。
        print('%c'%(0x4e01)) #打印的是 丁
        print('%X,%x'%(15,15)) #结果是F,f,有大小写区别
    
        print('我是'+name+"今年"+'age'+'岁')
        # 注意:age是数字,加的时候要加引号变成字符串
        # 注意:加号两边只能都是数字或者都是字符串,不能一个数字一个字符串
        print('我是',name,"今年",age,'岁')
        #这种打法会让中间有空格,解决方法:设置print函数的sep参数,可以改变print 函数在同时打印多个内容时的分隔符(默认是空格)
        print('我是',name,"今年",age,'岁',sep='') #打印多个数据的时候,数据之间没有间隙
        print('aa',100,'bbb',sep='--')  #打印多个数据的时候,数据之间以‘--’隔开
    

    end参数使用
    设置print函数的结束字符串,默认是'\n'(也就是默认换行)
    注意:设置sep和end参数,只是当次有效。

        print('Hello',end=' ')
        print('World')
    

    sep参数使用

        print('我是',name,"今年",age,'岁')
        #这种打法会让中间有空格,解决方法:设置print函数的sep参数,可以改变print 函数在同时打印多个内容时的分隔符(默认是空格)
        print('我是',name,"今年",age,'岁',sep='') #打印多个数据的时候,数据之间没有间隙
        print('aa',100,'bbb',sep='--')  #打印多个数据的时候,数据之间以‘--’隔开
    

    注意:设置sep和end参数,只是当次有效。

    九、字符串的内置函数

    1. 控制字符串的大小写函数

    capitalize() 将字符串的第一个字符转换为大写。(不会改变原来的字符串,而是返回一个新的字符串)

        str1 = 'python student'
        newStr = str1.capitalize()
        print(str1,newStr)
    

    title() 将字符串中每个单词的首字母大写(不会改变原来的字符串,而是返回一个新的字符串)
    !单词区分,和英语区分单词的方式是一样的,一般是以空格或者标点符号来区分。

        newStr = str1.title()
        print(str1,newStr)
    

    2. 控制字符串的长度函数

    center(width,fillchar) 将字符串变成指定的长度,并且原字符串内容居中,剩余的位置使用指定的字符fillchar填充。

        str1 = 'abc'
        newStr = str1.center(11,'*')
        print(newStr)

    相关文章

      网友评论

          本文标题:Python学习总结【连载】(二)

          本文链接:https://www.haomeiwen.com/subject/qoeseftx.html