• python基础第三天


    数据类型的初识

    1.数据类型的分类

    1.数字 (int)

    2.字符串(str)

    3.列表(list)

    4.元组(tuple)

    5.字典(dic)

    6.集合(set)

     

    补充内容:

    格式化输出: %r,以后会有使用

    使用%r的时候,会引用原格式.即输入时什么样就这显示就什么样.

    数据类型的转换

    #int --> str

    i = 4

    i1 = str(i)

    print(i1 , type(i1))

    #int ---> bool

    i = 0

    i1 = bool(i)

    print(i1 , type(i1))

    i = 5

    i2 = bool(i)

    print(i2 , type(i2))

    #str ---> bool

    #str bool 空字符串为False,非空为True,里面只有空格的也是非空,现实True

    i = "hsdhsdldlsd"

    i2 = bool(i)

    print(i2 , type(i2))

     

    i = ""

    i1 = bool(i)

    print(i1 , type(i1))

     

    字符串操作

    索引 #字符串从左到右是以0开始,从右到左是以-1开始

    s = 'oldboylala'

    print(s[2])  

    print(s[0])

    print(s[-3]) 

    print(s[122])   #索引超出范围就会报错

     

    切片

    print(s[0:2]) 

    print(s[:2]) #对上面进行的简化,如果从头开始切片,则可省略

    print(s[3:-3])

    print(s[6:3])#什么也不会显示,错误的方法

    print(s[-2-5])#无法取值

     

    步长

    print(s[1:7:2]) #表示:第一位数字表示起始索引,第二位数字表示结尾索引,第三位表示步长即隔几位取值

    print(s[-1:-5:-2]) #反步长

    print(s[2:-4:2]) #正负可用,但是步长必须为正

    print(s[:100:2])#切片和步长超出范围不会报错,正常可用

     

    字符串常用方法 

    s = 'oldboy@is7DdidJsj ldjd hs'

    1.首字母大写 (capitalize)

    s1 = s.capitalize() #首字母大写
    print(s1)
    或者

    print(s.capitalize())

    2.所有字母变小写 (lower)

    s1 = s.casefold() #字母变成小写,针对uncode的编码所有的字母
    s1 = s.lower() #字母变成小写,只针对ascii

    print(s1)

     3.所有字母变大写 (upper)

    s1 = s.upper() #全部都变成大写

    print(s1)

     

    验证码实现不区分大小写

    a = 'eQy7'
    a1 = a.upper()
    b = input('请输入验证码:')
    b1 = b.upper()
    if a1 == b1:
    print("666")
    else:
    print("444")


     4.字符串居中 (center)

    s1 = s.center(30, '@') #让字符串居中,并且可对空出的空间进行填充.'@'表示填充的字符
    print(s1)

     5.字符中大小写翻转 (swapcase)

    s1 = s.swapcase() #字符串大小写翻转

    print(s1)

    6.#字符串所有非字母隔开的首字母全部大写,原来其他位置的字母小写.

    s1 = s.title()

    print(s1)

    7.(startswith/endswith) 判断以什么开头结尾,可以使用切片判断整体或者个体

    判断以什么开头,返回bool值,只有是一个字符串不分位置,只认为一个字母开头

    s1 = s.startswith('ld')
    print(s1)

    False
    s1 = s.startswith('o')
    True
    s1 = s.startswith('old')
    True


    8.去除字符串内的首位空格,换行符,制表符(tab)等 .(strip /删除左边:lstrip /删除右边:rstrip)

    s = ' oldboy@is7DdidJsj ldjd hs '

    s1 = s.strip()
    print(s1)

    实验:用户名输入得到标准输入

    s = input('请输入用户名:')
    s1 = s.strip()
    if s1 == 'jason':
    print(666)

    9.查找字符串内字符返回索引 find/index

    s = 'alexesxshd'

    print(s.find('x', 2,6))#查找元素并返回第一个元素的索引如果没找到返回 -1

    print(s.index('A'))#查找元素并返回第一个元素的索引如果没找到报错


    10.统计字符元素在字符串中的个数 (count)

    print(s.count('ex'))


    11.字符串替换  (replace)

    s = '是搜地方很少了开发商的灵魂地方发货了'

    s1 = s.replace('地方','place',1)

    #替换方法,前面添加旧数据,中间添加新数据,最后是替换几个.如果后面填的替换个数超过字符串包含的

    不报错,并且把所有需要替换的内容全部替换.

    print(s1)


    12.分割字符串 (split/rsplit)

    s = 'sdhlseeh sdhsld,s#hdi#sda#lsd!sdl#hdk'

    print(s.split()) #表示用空格分割
    print(s.split(','))#表示用逗号分割
    print(s.split('#' , 2)) #表示分割的次数

    13.格式输出 (format)

    第一种方式: %s 形式相同
    s = '我叫{},今年{},爱好{}'
    s1 = s.format('MT','18','haha')#这种方式顺序必须一一对应
    第二种 可处理多个重复字段的填充,format不用写很多内容
    s = '我叫{0},今年{1},爱好{2},明年还是{1},我就是喜欢{2}'
    s1 = s.format('MT','18','hahds')
    第三种 字典形式,可以一一对应.

    s1 = '我叫{name},今年{age},喜欢{hobby}'.format(name='MT',age='18',hobby='hah')
    print(s1)

    14.判断字符串组成元素
    name = 'alex7ds'

    print(name.isalnum()) #检测字符串由字母,数字组成,此例题True
    print(name.isalpha()) #检测字符串只由字母组成,此例题False
    print(name.isdigit()) #检测字符串只由数字组成,此例题False

     

    15.join

    #用字符串作为一个连接符,链接字符串.连接可迭代对象中的每一个元素,形成 一个新的字符串.

    s = '*'.join('oldboy')
    print(s)

    结果:

    o*l*d*b*o*y

    注意:join进行的字符串连接,必须全部都是字符串,里面不能有别的元素,要不然会报错.

    公共用法的方法

    1.检查字符串/列表/字典等元素长度

    len()

    a = len(变量)

    2.检查字符串/列表/字典等元素个数

    count()

    a = len(变量)

    for 循环

    1.用whiel 循环遍历 字符串内容.

    s = 'hsdlsdjdsh'
    s1 = len(s)
    i = 0
    while i < s1:

      print(s[i])

    i += 1

    2.用for循环实现相同功能

    s = 'hsdlsdjdsh'

    for i in s:

      print(i)

    以上为今天所讲的所有重点内容.





  • 相关阅读:
    POJ 2018 二分
    873. Length of Longest Fibonacci Subsequence
    847. Shortest Path Visiting All Nodes
    838. Push Dominoes
    813. Largest Sum of Averages
    801. Minimum Swaps To Make Sequences Increasing
    790. Domino and Tromino Tiling
    764. Largest Plus Sign
    Weekly Contest 128
    746. Min Cost Climbing Stairs
  • 原文地址:https://www.cnblogs.com/tom2ling/p/8612205.html
Copyright © 2020-2023  润新知