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)

  • 相关阅读:
    Chapter 03Using SingleRow Functions to Customize Output(03)
    Chapter 03Using SingleRow Functions to Customize Output(01)
    Chapter 04Using Conversion Functions and Conditional ExpressionsNesting Functions
    Chapter 04Using Conversion Functions and Conditional ExpressionsGeneral Functions
    Chapter 11Creating Other Schema Objects Index
    传奇程序员John Carmack 访谈实录 (zz.is2120)
    保持简单纪念丹尼斯里奇(Dennis Ritchie) (zz.is2120.BG57IV3)
    王江民:传奇一生 (zz.is2120)
    2011台湾游日月潭
    2011台湾游星云大师的佛光寺
  • 原文地址:https://www.cnblogs.com/ZDQ1/p/11126736.html
Copyright © 2011-2022 走看看