美文网首页
Python-day-03

Python-day-03

作者: sawyerwh | 来源:发表于2018-07-18 20:53 被阅读0次

    一、认识字符串

    1、什么是字符串

    a.使用单引号或者双引号括起来的字符集就是字符串。

    '123'          #字符串可以是数字、字母、符合、任意一种语言
    'ahcn'        
    '^7&#sj'
    '中文汉字'
    

    b.引号中单独的符号、数字、字母等叫字符。
    c.转义字符:可以用来表示一些有特殊功能或者是特殊意义的字符(通过在固定的字符前加'')。在计算字符串长度的时候,转义字符代表一个字符。

    \'-->'
    \\-->\
    \n-->换行
    \t-->制表符
    \"-->"
    

    转义字符应用

    str1='\''   
    str2='\\'   
    str3='床前明月光,\n疑是地上霜。'
    print(str1)
    print(str2)
    print(str3)
    
    '
    \
    床前明月光,
    疑是地上霜。
    

    2.阻止转义

    • 可以通过在字符串前面加r或者R,来阻止转义字符转义。
    str1=r'\\'
    print(str1)
    str1=R'\\'
    print(str1)
    
    \\
    \\
    
    str1='\\1\n2'
    print(str1)
    str1=r'\\1\n2'
    print(str1)
    
    \1
    2
    \\1\n2
    
    

    3.python中字符串中字符是Unicode编码

    • Unicode编码:使用16位对一个字符进行编码。编码的目的是让字符可以存储到计算机中。
    • Unicode码中包含了Asscii码,可以表示目前世界上所有的语言和符号。
    a.获取一个字符的Unicode码
    ord1=ord('王')
    ord2=ord('欢')
    print(hex(ord1),hex(ord2))
    print(hex(ord('王')),hex(ord('欢')))
    
    0x738b 0x6b22
    0x738b 0x6b22
    
    b.将Unicode码转换成字符。
    # chr(编码值)
    print(chr(0x738b),chr(0x6b22))
    
    王 欢
    
    c.字符串比较大小的时候,从字符串开始依次往后比较每个字符的大小,直到遇到字符不一样为止。
      比较字符大小的时候,实质比的是他们的编码大小。
    print('abc'>'b')
    print('acf'>'abr')  --->a 和 a比较,相等,c 和 b比较,c>b
    
    False
    True
    

    二、获取字符串中的字符

    • python的字符,实质是一个有序的字符序列。

    1.获取字符串长度: (长度-->字符串中字符的个数)

    len是获取序列长度的内置函数。
    count=len('abc123')
    print(count)
    count=len('abc\n123')
    print(count)
    
    6
    7
    

    2.通过下标获取字符串中的某一个字符

    • 字符串中每个字符都对应一个下标(索引),我们可以通过索引值去获取固定的字符
    'abc'--->a:0,b:1,c:2
    str1='abc'
    print(str1[0])       
    print(str1[2])       
    str2="good good study\nday day up"
    print(str2[25])
    
    a
    c
    p
    
    • 下标的范围:0 ~ 字符串长度-1 ; -1 ~ -字符串长度
    • 获取字符的时候,索引值不能超过索引的范围,否则会报IndexError
    print(str1[3])     #IndexError: string index out of range
    print(str1[-1])    #获取字符串str1中的最后一个字符
    print(str1[-2])    #获取字符串str1中的倒数第二个字符
    

    3.获取字符串中的部分字符(切片):

    • 字符串[开始下标:结束下标] --->获取字符串中从开始下班到结束下标的字符(包含开始下标对应的字符,
      不包含结束下标对应的字符)
    • 字符串[开始下标:结束下标:步进]
    字符串[开始下标:结束下标]===字符串[开始下标:结束下标:1]
    

    a.开始和结束下标都有值:开始下标对应的字符,要在结束下标对应的字符前面。

    str3='hello Python'
    print(str3[6:12])       
    print(str3[-6:12])        
    
    Python
    Python
    

    b.开始下标省略:从字符串的最前面取到结束下标前

    print(str3[:4])
    
    hell
    

    c.结束下标省略:从开始位置获取到字符串结束

    print(str3[4:])
    
    o Python
    

    d.;两个都省略:获取整个字符串的内容

    print(str3[:])
    
    hello Python
    

    e: 步进为2时

    print(str3[::2])  
    
    hloPto  
    

    f: 步进为负数时(了解)

    print(str3[3:1:-1])  #ll  3 3-1=2 1 
    print(str3[::-1])    #字符串倒序
    
    ll
    nohtyP olleh
    

    三、字符串运算符

    1. + :字符串拼接
    str1='hello'+' '+'Python'
    print(str1)
    
    hello Python
    

    注意: + 号两边要么都是数字,要么都是字符串,不能一个数字一个字符串。

    print(12+'23') 
    
    TypeError
    

    2. * : 让字符串重复

    字符串*整数
    str1='abc'*3
    print(str1)
    str2='a'*10
    print(str2)
    
    abcabcabc
    aaaaaaaaaa
    

    3. in

    • 字符串1 in 字符串2 : 判断字符串1是否在字符串2中 -->在就算True,不在是False。
    result= 'a' in 'abc'
    print(result)
    
    True
    

    4.not in

    • 字符串1 not in 字符串2: 判断字符串1是否在字符串2中 -->不在就算True,在是False。
    result='abc' not in '123'
    print(result)
    
    True
    

    5.格式字符串

    • 格式:'占位符1占位符2'%(值1,值2)
    str1='abc%s123'%('>>>')
    str2='abc%s1%s23'%('>>>','!!!')
    print(str1)
    print(str2)
    
    abc>>>123
    abc>>>1!!!23
    
    %s -->字符串占位符(格式符)
    %d -->整数占位符(格式符)
    %f -->浮点数占位符(格式符)
    %c -->长度是1的字符串占位符(字符占位符)---可以给一个字符,也可以给一个字符的编码值。
    str3='-%s-%d-%f-%c-%c'%('我是字符串',123,12.4,'k',97)
    print(str3)
    
    -我是字符串-123-12.400000-k-a
    
     %.nf :使用n值限制小数点后面的小数的位数(默认六位小数)
    str4='金额:%.2f元'%(100)
    print(str4)
    
    金额:100.00元
    
    • 如果后面没有加%,那么这个字符串只是一个普通的字符串。
    str4='金额:%f元'
    print(str4)
    
    金额:%f元
    
    %x和%X-->十六进制数据占位符
    number=15
     XXX的十六进制是XXXXX
    str5='%d的十六进制是0X%x'%(number,number)
    print(str5)
    
    15的十六进制是0Xf
    

    6.格式化输出

    name='王欢'
    age=18
    # xx今年xx岁
    print('%s今年%d岁'%(name,age))
    print('%s'%id(name))
    
    王欢今年18岁
    1819657484928
    

    四、字符串相关方法

    • 字符串相关方法的通用格式:字符串.函数()

    1.capitalize:将字符串的首字母转换成大写字母,并且创建一个新的字符串返回。

    str1='abc'
    new_str=str1.capitalize()
    print(str1,new_str)
    
    abc Abc
    

    2.center(width,fillchar):将原字符串变成指定的长度并且内容居中,剩下的部分使用指定的字符填充。

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

    3.rjust(width,fillchar):右对齐

    new_str=str1.rjust(11,'*')
    print(new_str)
    
    ********abc
    
    • str(数据):将任何其他的数据转换成字符串
    nem_str=str(number)
    print(nem_str,type(nem_str))
    
    9 <class 'str'>
    
    
    • 让字符串变成宽度为3,内容右对齐,剩下部分使用'0'填充
    new_str=nem_str.rjust(3,'0')
    print(new_str)
    new_str='python1805'+new_str
    print(new_str)
    
    009
    python1805009
    

    4.ljust(width,fillchar):左对齐

    nem_str=str(number)
    new_str=nem_str.ljust(4,'0')
    print(new_str)
    
    9000
    

    5.字符串1.join(字符串2):在字符串2中的每个字符之间插入一个字符串1。

    new_str='***'.join('bbb')
    print(new_str)
    
    b***b***b
    

    6.maketrans() 了解

    new_str=str.maketrans('abc','bbb')
    print(new_str)
    
    {97: 98, 98: 98, 99: 98}
    

    7.msx 返回字符串中str中最大的字母。 min --->最小

    print(max('asdqfwfwg'))
    
    w
    

    五、if语句

    1. 结构1

    if 条件语句:
        条件语句结果为True执行的代码块
    
    • 执行过程:先判断条件语句是否为True,如果为True就执行if语句后:后面对应的一个缩进的所有的代码。
      为False,就不执行:后面一个缩进的代码块,直接执行后续的其它语句。

    • 条件语句:可以是任何有值的表达式,但是一般是布尔值

    if: 关键字
    """
    if True:
        print('代码1')
        print('代码2')
        print('代码3')
    
    print('代码4')
    
    代码1
    代码2
    代码3
    代码4
    
    
    # 练习:用一个变量保存时间(50米短跑),如果时间小于8秒,打印及格
    time=7
    if time<8:
        print('及格')   #只有条件成立的时候才会执行
    
    print(time)        #不管if语句的条件是否成立,这个语句都会执行
    
    及格
    7
    

    """

    2.结构2

    if 条件语句:
        语句块1
    else:
        语句块2
    
    • 执行过程:先判断条件语句是否为True,如果为True就执行语句块1,否则执行语句块2.
    # 练习:用一个变量保存成绩,如果成绩大于等于60,打印及格,否则打印不及格。
    score=70
    if score>=60:
        print('及格')
    else:
        print('不及格')
    
    及格
    

    相关文章

      网友评论

          本文标题:Python-day-03

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