zoukankan      html  css  js  c++  java
  • 05 数据类型以及内置方法

    1.整型(int)

    1.1 用途:存QQ号、手机号、身份证号码等整数字串

    1.2定义方式:

    age= 18 # age=int(18)int括号内只能放纯数字,连小数点都不行

    例如:

    int('fsfsdfa')#错误

    int('1.2')#错误

    1.3进制的转换

      1.3.1其他进制转十进制(int)方法

        print(int('1000',2))意思是二进制的1000转成十进制

        print(int('1000',8))意思是8进制的1000转成十进制

        print(int('1000),16))意思是16进制的1000转成十进制

      1.3.2十进制转其他进制

        print(bin(12))bin代表转成二进制

        print(oct(12))oct代表转成8进制

        print(hex(12))hex代表转成16进制

    1.4整型的‘可变与不可变类型’

    可变类型:ID号不变的情况下改变值

    不可变类型:值改变,ID号就改变

    x=20

    print(id(x))#504131648

    x=21

    prnt(id(x))#504131680

    2.浮点型

    2.1作用:薪资、身高、体重

    2.2定义:height=178.1# height=float(178.1)

    3.字符串

    3.1用途:描述性

    3.2定义方式:‘’,‘’‘’,‘’‘’‘’

    s='hello world'  #s=str('hello world')

    列表和字典都可以转成字符串

    s1=str([1,2,3,4])

    print(type(s1))

    s2=str({'name':'wuxi','pwd':123})

    print(type(s2))

    3.3按索引取值(分为正向取+反向取):由于字符串是不可变类型,因此只能取,不能修改

    a='wuxi is handsome'

    print(a[0])

    3.4切片(批量取值,一直取多个值):

    定义在[]内,填入索引值,表示从哪个索引值开始到哪个索引值结束。需要主要【】内顾头不顾尾

    在一个大的字符串中取出一段小字符串。

    而‘按照索引取值’是一个个字符的取

    a='wuxi is handsome'

    Print(a[0:4])#按照索引次序,取出wuxi。

    1.4.1切片可以指定取值的步长

    print(a[1:5:2])最后一个数字2,代表隔一个取一个。

    1.4.2切片可以倒着取值(默认是从左往右)了解知识点

    print(a[-1])#取最后一个值

    print(a[0:5:-2])#错误,由于默认是从往右取,如果倒着取,-2之前的索引也应该改变。正确如下

    print(a[-1:-10:-2])

    3.5长度len:

    用来统计字符串的字符长度

    a='wuxi looks very good'

    print(len(a))

    3.6成员运算 in 和 not in :

    用来判断的。判断一个子字符是否存在与另一个字符串中。得到的结果为True或False

    a1='wuxi looks very handsome'

    print(‘wuxi’ in a1)#True

    print(‘nice’ not in a1)#False

    3.7去掉字符串首尾两边的字符strip(默认取空格,可以指定去除内容),不管字符中间的空格

    name='        shilingling        '#.strip()

    3.7.1若指定去除的内容,则去除空格的效果丢失,除非另外指定

    name2='       fff    shilingling      '#.strip(' f')空格逗号f,则只剩下shilingling

    name3='*****shilingling******'#.strip('*')

    name4='**+**/**shilingling ****_**'#.strip('*+/-')

    3.7.2用户交互

      name=input(:>>>).strip()

      print(name)

    3.8切分split:

    针对按照某种分隔符组织的字符串,可以用split将分隔符切除,并输出为列表,最终也可以方便索引或者解压缩取值

    案例1(结果保存为列表,不涉及取值):

     info='wuxi:178:23:75::/root/bin/bash'

    res=info.split(':')#去除:分隔符

    print(res)#结果['wuxi', '178', '23', '75', '', '/root/bin/bash']

    案例2(解压缩取值):

    cmd='surfing|a.txt|334343'

    cmd_name,filename,filesize=cmd.split('|')

    3.9.循环,今日未讲

    4.其他关于字符串的需要掌握的内置方法

    4.1 .lower(),.upper()全部小写或全部大写

    s='My Name is Shilingling'

    res=s.upper()

    print(res)#MY NAME IS SHILINGLING

    print(s)#My Name is Shilingling

    实验得知,调用字符串的方法(即.后面的方法)并不会改变字符串本身

    4.2startswith,endswith

    用于判断字符串是否以什么开头或结尾

    info='shilingling is beautiful'

    print(info.startswith('shilingling'))

    4.3format的三种用法(格式化输入的一种形式,pyhton推荐使用该语法)

    4.3.1按位置占位,与%s相同

    info1='my name is {} my age is {}'.format('wuxi',18)

    print(info1)#my name is wuxi my age is 18

    4.3.2按照索引值占位与后方的传值对应

    info3='my name is {1} my age is {0}'.format('wuxi',18)

    print(info3)#my name is 18 my age is wuxi

    4.3.3关键字传参。好比字典key:value

    info4='my name is {name} my age is {age}'.format(name='wuxi',age=18)

    4.4split,replit

     msg='get|a.txt|333331231'

    print(msg.split('|',1))

    print(msg.rsplit('|',1))

    ['get', 'a.txt|333331231']
    ['get|a.txt', '333331231']

    4.5join

    将容器类型中的多个元素通过指定字符拼接成一个字符串
     data = 'jason|123|handsome'
    res_list = data.split('|')
    print(res_list)#['jason', '123', 'handsome']

    res_str = '$'.join(res_list) # 将容器类型中的多个元素通过指定字符拼接成一个字符串
    print(res_str)#jason$123$handsome
    l = ['1','a','b']
    res = '|'.join(l)
    print(res)#1|a|b
    4.6 replace
    替换
    str = 'egon is dsb and egon is sb he has a BENZ'
    res = str.replace('egon','kevin',1)
    print(res)#kevin is dsb and egon is sb he has a BENZ
    print(str)

    4.7isdigit判断字符串包含的是否为纯数字
    while True:
    age = input('>>>:')
    if age.isdigit():
    age = int(age)
    if age > 38:
    print('阿姨好')
    else:
    print('好好输')
    5.需要了解的内置方法:
    5.1find,rfind,index,rindex,count
    s='msl is dsb and lsr is sb'
    print(s.find('dsb'))#返回的是d字符所在的索引值
    print(s.find('sss'))#找不到的時候返回-1
    print(s.find('i',0,3))#用索引來限制查找的quyu
    print(s.index('o))#返回所传字符所在的索引值
    print(s.index('i',0,3))#返回所传字符的索引值
    print(s.count('n'))#统计字符出现的次数
    5.2center,ljust,rjust,zfill
    s=‘wuxi’
    print(s9.center(12,'*'))
    print(s9.ljust(40,'$'))
    print(s9.rjust(40,'$'))
    print(s9.rjust(40,' '))
    print(s9.zfill(40))
    5.3expandtabs
    s10 = 'a	bc'
    print(s10.expandtabs(100))
    5.4captalize,swapcase,title
    s12 = 'hElLo WoRLD sH10'
    print(s12.capitalize()) # Hello world 首字母大写
    print(s12.swapcase()) # 大小写互换
    print(s12.title()) # 每个单词的首字母大小
    5.5
    5、is数字系列
    num1=b'4' #bytes
    num2=u'4' #unicode,python3中无需加u就是unicode
    num3='壹' #中文数字
    num4='Ⅳ' #罗马数字
    # ''.isnumeric(): unicode,中文数字,罗马数字 只要是表示数字都识别
    print(num2.isnumeric())
    print(num3.isnumeric())
    print(num4.isnumeric())

    # ''.isdecimal(): unicode 只识别普通的阿拉伯数字
    print(num2.isdecimal())
    print(num3.isdecimal())
    print(num4.isdecimal())

    # ''.isdigit() :bytes,unicode 通常情况下使用isdigit就已经满足需求了
    print(num1.isdigit())
    print(num2.isdigit())
    print(num3.isdigit())
    print(num4.isdigit())
    6.列表类型的作用:多个装备,多个爱好,多门课程,多个女朋友等
    定义:[]内可以有多个任意类型的值,逗号分隔
    my_girl_friends=['alex','wupeiqi','yuanhao',4,5] #本质my_girl_friends=list([...])

    l=list('abc')
    l1=list({'name':'jason','password':'123'})
    print(l1)
    list内部原理就是for循环取值 然后一个个塞到列表中去
    6.1按索引存取值(正向存取+反向存取):即可存也可以取
    l = [1,2,3,4]
    print(l[0:4:1])
    print(l[0::])
    print(l[5::-1])
    print(id(l))
    l[0] = 69
    print(id(l))
    print(l)

    6.2切片(顾头不顾尾,步长)
    l=['egon','lxx','yxx',444,555,66666]
    print(l[0:5])
    print(l[0:5:2])
    print(l[::-1])#

    6.3长度
    l=['egon','lxx','yxx',444,555,66666,[1,2,3]]
    print(len(l))

    6.4成员运算in和not in
    l=['egon','lxx','yxx',444,555,66666,[1,2,3]]
    print('lxx' in l)
    print(444 in l)

    6.5追加
    l=['egon','lxx','yxx']
    l.append(44444)
    l.append(55555)
    print(l)

    6.6往指定索引前插入值
    l=['egon','lxx','yxx']
    l.insert(0,11111)
    print(l)
    l.insert(2,2222222)
    print(l)

    # 一次性添加多个元素
    l = ['jason','nick']
    l.extend(['tank','sean'])

    6.7删除

    # 单纯的删除值:
    # 方式1:
    del l[1] # 通用的
    print(l)

    # 方式2:
    res=l.remove('lxx') # 指定要删除的值,返回是None
    print(l,res)

    # 从列表中拿走一个值
    res=l.pop(-1) # 按照索引删除值(默认是从末尾删除),返回删除的那个值
    print(l,res)

  • 相关阅读:
    01点睛Spring MVC 4.1-搭建环境
    18点睛Spring4.1-Meta Annotation
    17点睛Spring4.1-@Conditional
    16点睛Spring4.1-TaskScheduler
    15点睛Spring4.1-TaskExecutor
    Zabbix4.0.3解决中文乱码
    A10映射方法
    源码安装zabbix_agent4.0.3
    单机部署redis5.0集群环境
    zabbix系列之九——添加钉钉告警
  • 原文地址:https://www.cnblogs.com/ZDQ1/p/11126736.html
Copyright © 2011-2022 走看看