zoukankan      html  css  js  c++  java
  • 解读基本数据类型和内置方法(1)(要掌握)

    一、课前小练习

      #定义一个员工列表,格式化输出员工的姓名、年龄和性别。

    1 info = [
    2        ['egon',18,'male'],
    3        ['kevin',19,'male'],
    4        ['wusir',20,'female'],
    5 ]   
    6 
    7 for name,age,gender in info:
    8 print('My name is %s,my age is %s,my sex is %' %(name,age,gender))
    View Code

    二、可变与不可变类型

    可变类型:变量的值改变了,但是id不变,从而说明他只是在改变原值,这就是可变类型。

    不可变类型:变量的值改变了,同时id也改变了,说明产生了一个新的值,这就是不可变类型。

     1 x=9
     2 print(id(x))
     3 x=10
     4 print(id(x)) #类型可变
     5 
     6 l=['a','b']
     7 print(id(l))
     8 l[0]='A'
     9 print(l)
    10 print(id(l)) #不可变类型
    View Code

    三、基本数据类型和内置方法

    3.数字类型(详解)

     3.1整型(int)

       用途:用于记录年龄、身份证号、数量、等级等等。

       定义:age = 18

       数据类型的转换:只能讲出数字的字符串转换成int。

    1 x = int('12345')
    2 print(x,type(x))
    3 x = int('1234')
    View Code

    3.2浮点型(float)

        用途:用于记录描述身高、薪资、体重等状态。

        定义:salary = 3.1 # salary = float(3.1)

     总结:数字类型只能存一个值,而且是不可变的。

    4.字符串类型重点掌握

       用途:用于记录描述事物的状态。

       定义:通过使用单双引号来定义。 # name = 'egon'  name = str('egon')

       相关操作:1.数据类型的转换:所有的类型都可以转换成字符串类型。

             # res = str('hello word')

             # print(res,type(res))

       内置方法的操作:

    4.1 按照索引的位置(正反方向),只能取

    1 # msg='hello'
    2 # print(msg[0],type(msg[0]))
    3 # print(msg[-1])
    4 # print(msg[-2])
    View Code

    4.2 切片(顾头不顾尾)

    1 # msg='hello world'
    2 # res=msg[0:3:1] # 0 1 2
    3 # print(res)
    4 # print(msg)
    5 
    6 # res=msg[:]
    7 # res=msg[::2] # 0 2 4 6 8 10
    8 # print(res)
    View Code

    4.3 长度len

    1 # msg='hello world'
    2 # print(len(msg))
    View Code

    4.4 成员运算in和not in:判断一个子字符串是否存在于大字符串中

    1 msg='kevin is dsb'
    2 
    3 # print('kevin' in msg)
    4 # print('dsb' in msg)
    5 # print('aaa' not in msg)
    6 # print(not 'aaa' in msg)
    View Code

    4.5 移除空白strip: 用来去除字符串左右两边的字符,不指定默认去除的是空格

    1 # msg='      he llo     '
    2 # res=msg.strip()
    3 # print(res,id(res))
    4 # print(msg,id(msg))
    5 
    6 # print('******eg**on*****'.strip('*'))
    7 
    8 
    9 # print('***+-/***egon#@$*****'.strip('*+-/#@$'))
    View Code

    4.6 切分split:针对有规律的字符串,按照某种分隔符切成列表

    1 info='egon:18:male'
    2 # res=info.split(':')
    3 # print(res,type(res))
    4 # print(res[0],res[1])
    5 
    6 # cmd='get|a.txt|33333'
    7 # print(cmd.split('|',1))
    View Code

    4.7 用:号作连接符号将纯字符串的列表拼接成一个字符串

    1 l=['egon', '18', 'male']  # 'egon:18:male'
    2 # res=l[0]+':'+l[1]+':'+l[2]
    3 res=':'.join(l)
    4 # print(res)
    View Code

    4.8 循环操作

    1 # for item in 'hello':
    2 #     print(item)
    View Code

    4.9 需要掌握的操作(低一级)

     1 #1、strip,lstrip,rstrip
     2 # print('******egon***********'.strip('*'))
     3 # print('******egon***********'.lstrip('*'))
     4 # print('******egon***********'.rstrip('*'))
     5 
     6 #2、lower,upper
     7 # print('Abc123'.lower())
     8 # print('Abc123'.upper())
     9 
    10 #3、startswith,endswith
    11 # msg='alex is dsb'
    12 # print(msg.startswith('alex'))
    13 # print(msg.endswith('b'))
    14 
    15 #4、format的三种玩法
    16 # res='my name is %s my age is %s' %('egon',18)
    17 # print(res)
    18 
    19 # res='my name is {name} my age is {age}'.format(age=18,name='egon')
    20 # print(res)
    21 
    22 # 了解
    23 # res='my name is {} my age is {}'.format('egon',18)
    24 # res='my name is {0}{1} my age is {1}{1}{1}{1}'.format('egon',18)
    25 # print(res)
    26 
    27 #5、split,rsplit
    28 # msg='a:b:c:d'
    29 # print(msg.split(':',1))
    30 # print(msg.rsplit(':',1))
    31 
    32 #6、replace
    33 # msg='kevin is kevin is hahahah'
    34 # res=msg.replace('kevin','sb',1)
    35 # print(res)
    36 
    37 #7、isdigit
    38 # print('123123'.isdigit()) # 如果字符串是由纯数字组成的,则返回True
    39 # print('123123   '.isdigit())
    40 # print('123123asdf'.isdigit())
    41 # print('12312.3'.isdigit())
    View Code

    5.0 需要了解的操作(不要求强烈会操作)

     1 1、find,rfind,index,rindex,count
     2 # print('123 ke123ke'.find('ke'))
     3 # print('123 ke123ke'.rfind('ke'))
     4 # print('123 ke123ke'.index('ke'))
     5 # print('123 ke123ke'.rindex('ke'))
     6 
     7 # print('123 ke123ke'.find('xxxx'))
     8 # print('123 ke123ke'.index('xxxx'))
     9 # print('123 ke123ke'.count('ke',0,6))
    10 
    11 #2、center,ljust,rjust,zfill
    12 # print('egon'.center(50,'*'))
    13 # print('egon'.ljust(50,'*'))
    14 # print('egon'.rjust(50,'*'))
    15 
    16 # print('egon'.rjust(50,'0'))
    17 # print('egon'.zfill(50))
    18 
    19 #3、captalize,swapcase,title
    20 # print('abcdef dddddd'.capitalize())
    21 # print('abcAef dddddd'.swapcase())
    22 # print('abcAef dddddd'.title())
    23 
    24 #4、is数字系列
    25 num1=b'4' #bytes
    26 num2='4' #unicode,python3中无需加u就是unicode
    27 num3='四' #中文数字
    28 num4='Ⅳ' #罗马数字
    29 
    30 # bytes与阿拉伯数字组成的字符串
    31 # print(num1.isdigit())
    32 # print(num2.isdigit())
    33 # print(num3.isdigit())
    34 # print(num4.isdigit())
    35 
    36 # 阿拉伯数字组成的字符串
    37 # print(num2.isdecimal())
    38 # print(num3.isdecimal())
    39 # print(num4.isdecimal())
    40 
    41 # 阿拉伯数字中文罗马组成的字符串
    42 # print(num2.isnumeric())
    43 # print(num3.isnumeric())
    44 # print(num4.isnumeric())
    View Code

      总结:字符换类型只存在一个值,并且它是有序的,是不可变的。

    5.列表类型(list)

       用途:按照位置来记录值,通过索引来取值。

       定义:在[]内用逗号把多个值分开。 # l = ['1','2','3']

       数据类型的转换:但凡能够被for循环遍历的数据类型都可以传给list,被其转换成列表

    1 # res=list('hello')
    2 # res=list(123)
    3 # print(res)
    4 
    5 # res=list({'a':1,'b':2,'c':3}) # []
    6 # print(res)
    View Code

        由于列表的常用内置方法和字符串类似,所以这里以偏概全:(不做具体分析)但很重要

     1 #3.1、按索引存取值(正向存取+反向存取):即可存也可以取
     2 l=['a','b','c','d','e']
     3 # print(l[0])
     4 # print(l[-1])
     5 # print(id(l))
     6 # l[0]='A'
     7 # print(id(l))
     8 
     9 # 强调强调强调!!!:对于不存在的索引会报错
    10 # l[5]='AAAA'
    11 
    12 # dic={"k1":111}
    13 # dic['k2']=2222
    14 # print(dic)
    15 
    16 #3.2、切片(顾头不顾尾,步长)
    17 # l=['a','b','c','d','e']
    18 # print(l[1:4])
    19 # print(l[::-1])
    20 
    21 #3.3、长度
    22 # l=['a','b','c','d','e']
    23 # print(len(l))
    24 
    25 #3.4、成员运算in和not in
    26 # l=['a','b','c','d','e']
    27 # print('a' in l)
    28 
    29 #3.5、追加与insert
    30 # l=['a','b','c','d','e']
    31 # l.append('xxx')
    32 # l.append('yyy')
    33 # print(l)
    34 
    35 # l.insert(0,'xxxx')
    36 # print(l)
    37 
    38 #3.6、删除
    39 l=['a','bbb','c','d','e']
    40 
    41 # del是一种通用的删除操作,没有返回值
    42 # del l[0]
    43 # print(l)
    44 
    45 # dic={'k1':1}
    46 # del dic['k1']
    47 # print(dic)
    48 
    49 # l.remove(指定要删除的那个元素),没有返回值
    50 # res=l.remove('bbb')
    51 # print(l)
    52 # print(res)
    53 
    54 # l.pop(指定要删除的那个元素的索引),返回刚刚删掉的那个元素
    55 # l=['a','bbb','c','d','e']
    56 # l.pop(-1)
    57 # res=l.pop(1)
    58 # print(l)
    59 # print(res)
    60 
    61 #3.7、循环
    62 # l=['a','b','c','d','e']
    63 # for item in l:
    64 #     print(item)
    View Code

        类似需要掌握的操作:

     1 l=['aaa','bb',345]
     2 # l.clear()
     3 # l.append([1,2,3])
     4 
     5 # for i in [1,2,3]:
     6 #     l.append(i)
     7 # l.extend([1,2,3])
     8 
     9 # l.reverse()
    10 
    11 # 只有在类中中所有元素都是同种类型的情况下才能用sort排序
    12 # l=[1,3,2]
    13 # l.sort(reverse=True)
    14 
    15 l=['z','d','a']
    16 l.sort()
    17 print(l)
    View Code

     总结:列表可以存多个值,并且有序、可变。

    其他的数据类型下次补齐,等待更新...............

  • 相关阅读:
    【缓慢的自学ing】 自己写一个《Minecraft》记录
    Unity随笔3:按钮的"导航"功能
    【随随随随笔】一些STL的糖
    【算法氵】筛法
    【纯感慨】好吃的蒟蒻
    【随随随随笔】OJ错题记录
    【纯感慨】最不擅长的就是配置软件
    【C++Primer笔记】顶层const、常量指针
    hdu 2475 动态树
    hdu 1281 棋盘游戏 网络流
  • 原文地址:https://www.cnblogs.com/wanglei957/p/10579348.html
Copyright © 2011-2022 走看看