美文网首页
DAY3 Python基础 2018-06-13

DAY3 Python基础 2018-06-13

作者: 十二右 | 来源:发表于2018-06-13 21:03 被阅读0次

    01-运算符

    02-运算符优先级

    03-字符串

    04-print函数的使用

    05-字符串的内置函数

    01-运算符

    运算符:算术运算符、比较运算符、赋值运算符、逻辑运算符

    1.2比较运算符

    比较运算符:>、<、>=、<=、==、!=
    比较运算符的结果是bool值(True or False)

    print(10>=5)      
    print(10>=10)
    print('abc'>='aba')
    

    输出:
    True
    True
    False
    tips:字符串比较是从第一字符开始依次比较,直到得出结果

    1.3赋值运算符

    赋值运算符:=、+=、-=、=、/=、%=、//=、*=
    a+=10 即是a=a+10

    1.4逻辑运算符

    逻辑运算符:and、or、not
    逻辑运算符中表达式的值都是bool值

    grade = 9.0
    score = 70
    # 奖学金要求:绩点大于8.5 或者操评大于90
    result = grade > 8.5 or score > 90
    print(result)
    

    02-运算符优先级

    赋值运算符<逻辑运算符<比较运算符<加减<乘、除、取余、取整、幂运算<+(正号)、-(负号)

    03-字符串

    字符串:由单引号或者双引号括起来的文本

    3.1python的字符串都是Unicode字符串

    Unicode编码:就是一种对字符的编码方式,将字符编码成对应的数字,方便计算机存储。
    Unicode编码又叫万国码,支持目前几乎所有的语言文字编码
    Unicode包含ASCII码(美国出的编码方式,仅支持英语)
    数据存储到计算机中是以2进制的形式存的(二进制是数字)将Unicode码转换成字符

    char=chr(0x4e01)
    print(char)
    

    将字符转换成Unicode码(结果是10进制的形式)

    code=ord('聂')
    print(hex(code))  #王=0x738b,虎=0x864e,聂=0x8042
    
    for x in range(0x4e00,0x9FA5):
         print(chr(x),end='')
    

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

    3.2字符串的长度

    长度:就是指字符串中字符的个数
    'abc' #长度为3
    ' yu' #长度为3 ,空格也算一个

    len(字符串):获取字符串的长度

    str1 = '你好   //// ' 
    length = len(str1)
    print(length)
    

    3.3获取字符/子串(字符串中的一部分)

    str1 = 'Hello,Python'

    a.获取某一个字符

    格式:字符串变量[下标]
    下标:从0开始的数字,代表的是某一个字符在字符串重大偏移量(位置)(范围:0-(字符串长度-1))
    下标也可以是负数

    print(str1[9]) #value=h,偏移量为9,从0开始数的第10个字符
    print(str1[-2]) #获取倒数第二个字符
    print(str1[20])  #IndexError: string index out of range 索引错误:字符索引超出范围
    print(str1[len(str1)-1]) #获取最后一个字符
    

    b.获取字符串中某一部分的字母(获取子串)

    格式:字符串变量[开始下标:结束下标] --->获取从开始下标到结束下标前的所有字符

    str1 = 'Hello,Python!' # 注意:开始下标对应的字符可以取到,结束下标对应的字符是取不到的
    print(str1[1:4])  # ell = 获取从下标是1对应的字符开始,到下标是(4-1)的所有字符
    print(str1[6:10])
    

    开始下标不写,默认是0

    print(str1[:5])   #获取从开始到下标是4为止的所有字符
    
    print(str1[::3])  #隔两个字符取一次!!!!!!
    

    结束下标不写,就会取到最后一个字符

    print(str1[-4:])  # value = hon!
    

    开始下标对应的字符在结束下标字符的后面,就取不到(不能倒着取)

    print(str1[5:1])
    print(str1[:])  #value = Hello,Python!
    

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

    +:字符串中的+操作,就是字符串连接

    str2 = 'aaa' + 'bbb'
    print(str2)   #value = aaabbb
     
    str1 = 'Hello'
    str2 = 'World'
    str3 = str1 + '\t' +str2
    print(str3)
    
    str2 +='!'  #str2 = str2 + '!'
    print(str2)
    

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

    str1 = 'abc' * 3 # abc重复3次
    print(str1)
    

    字符串 in 字符串2:判断字符串2中是否包含字符串1

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

    字符串1 not in 字符串2:判断字符串1是否不在字符串2中

    print('ae' not in str1)  # value = True
    

    04-print()函数的使用

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

    print(10)
    print('aaa')
    

    同时打印多个内容(多个内容间用逗号隔开);打印的时候,多个内容之间是用一个空格隔开

    print('aaa',100,'ccc') #value = aaa 100 ccc
    

    4.1格式化输出

    print('%s %d %c'%(var1,var2,var3)):输出字符串的时候,使用字符串格式符表示变示;然后在%后面的括号里面,依次使用表达式给前面的字符串格式符赋值
    %s:字符串 ;%d:整数 ;%f:浮点数; %c:字符
    我是XXX,今年XX岁

    name = '张山'
    age = 28
    print('我是%s,今年%d岁'%(name,age)) 
    

    %f; %.3f : 保留小数点的后三位

    print('余额:%f万元'%(10.25))  #value=余额:10.250000万元
    print('余额:%.3f万元'%(10.25)) #value=余额:10.25万元
    

    python中的字符,就是指长度是1的字符串,也可疑以是Unicode码

    print('%c'%('a')) #打印的是a
    print('%c'%(97)) #value = a
    print('%c'%(0x738b)) #value = 王
    

    %o:输出八进制

    print('%o'%(10))  #value = 12
    

    %X/%x:输出十六进制

    print('%x,%X'%(59,59)) #value = 3b,3B
    
    我是xxx,今年xx岁
    

    name = '张三'
    age = 28
    print('我是',name,',今年',age,'岁') #value = 我是 张三 ,今年 28 岁 但是,内容之间有空格
    print('我是'+name+',今年'+age+'岁')

    注意:加号两边只能都是数字或者都是字符串,不能一个数字一个字符
    
    
    ###4.2设置print函数的sep参数,可以改变print函数在同时打印多个内容时的分隔符(默认是空格)
    

    print('我是',name,',今年',age,'岁',sep='') #value = 我是张三,今年28岁 没有间隙
    print('aa',100,'bbb',sep = '--') #value = aa--100--bbb 以'--'隔开

    
    ###4.3设置print函数的结束字符串,默认是'\n',可用end来设置
    

    print('Hello',end=' morning ')
    print('World') #value = Hello morning World

    注意:设置sep和end参数,只是当次有效;实际就是调用一次函数
    
    #05-字符串的常用内置函数
    
    ###5.1capitalize() 将字符串的第一个字符转换为大写(不是改变原来的字符串,而是返回一个新的字符串)
    

    str1 = 'python student'
    newstr = str1.capitalize()
    print(str1,newstr) #value = python student Python student

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

    newstr = str1.title()
    print(str1,newstr) # value = python student Python Student

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

    str1 = 'abc'
    newstr = str1.center(12,'*')
    print(newstr) # value = ****abc*****

    
    ```import re
    
    
    name = '\tJon \nSnow\t'
    print(name)
    # output:
    #    Jon 
    # Snow  
    regex = re.compile(r'\s', re.DOTALL)  #正则表达式,后面会学到
    name = regex.sub('*', name)           #以*号代替空格便于查看
    print(name)
    # output:
    # *Jon**Snow*   
    

    5.4 lstrip('*') #截掉字符串左边的空格或指定字符,()不写默认截掉空格

    name1 = name.lstrip('*')  #
    print(name1)
    # output
    # #Jon 
    #Jon**Snow*
    

    5.5 rstrip('*') #截掉字符串右边的空格或指定字符

    name2 = name.rstrip('*')  
    print(name2)
    # output
    # *Jon**Snow
    

    5.6strip('*') #对字符串执行lstrip()和rstrip()

    name3 = name.strip('*') 
    print(name3)
    # output
    # Jon**Snow
    

    5.7replace(str1,str2) #用str2代替str1

    name4 = name.replace('*','')  
    print(name4)
    # output
    # JonSnow
    

    5.8split('',4) 以''为分割符截取字符串,且子字符串数量最多是4个

    name5 = name.split('*',4)  
    print(name5)
    # output
    #['', 'Jon', '', 'Snow', '']
    

    5.9zfill(15) #返回长度为15的字符串,原字符串右对齐,左边以0填充

    name6 = name.zfill(15)   
    print(name6)
    # output
    # 0000*Jon**Snow*
    

    相关文章

      网友评论

          本文标题:DAY3 Python基础 2018-06-13

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