zoukankan      html  css  js  c++  java
  • 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)

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





  • 相关阅读:
    删除链表中的一个节点
    链表系列面试题1
    线程的5种状态
    红黑树 实现
    Java的SPI机制浅析与简单示例
    socket原理
    rabbitmq简单介绍
    MongoTemplate操作mongodb
    RJava配置
    浅析前后台分离
  • 原文地址:https://www.cnblogs.com/tom2ling/p/8612205.html
Copyright © 2011-2022 走看看