zoukankan      html  css  js  c++  java
  • python第五天

    基本数据及内置方法

    什么是可变类型:值改变,但是id不变,证明就是在改变原值,是可变类型

    l=['a','b']
    print(id(l))
    l[0]='A'
    print(id(l))
    
    2887924323208
    2887924323208

    什么是不可变类型:值改变,但是id也跟着变,证明是产生了新的值,是不可以变类型

    x=9
    print(id(x))
    x=10
    print(id(x))
    1841327840
    1841327872

      1、数据类型

      1.1、什么是数据?

        x=10,  10是我们要存储的值。

      1.2、为何数据要分不同的类型

        数据是用来标识状态的,不同的状态就该用不同的类型的数据去表示。

        数据类型:

          整型int

            作用:年纪,等级,身份证号,qq号等整型数字相关

            定义:

             age=10 #本质age=int(10)
             int只能加出数字的整数转换为整形
             只能存储一个值
              是不可变类型

          浮点数float

            作用:用来记录薪资、身高体重等参数浮点相关

            float将包含小数的字符串转换为浮点数

            只能存储一个值

            是不可变类型

          字符串str

            作用:用来描述性质的状态

            定义:在单号内包含的字符

    数据类型转换:所有类型字符都可以被str转换为字符串类型

          列表list

           用途:按照位置记录多个值,多因对应值

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

                 整型不能够被循环

          

          

          元组

          字典deast

          集合

      2、字符类型

      3、列表类型

      4、元祖类型

    三、常用操作+内置方法

    3.1、按索引取值(正向取值+反向取值):只能取值

    msg='hello world'
    print(msg[-1])
    输出:d
    3.2,切片(顾头不顾尾,步长)

    切片是索引的一种扩展应用,可以正向和反向:只能取值操作

    正向:
    msg='hello world'
    print(msg[0:3:1]) #从第一个值开始到第四个(骨头不顾尾,第四个值不显示),步长为1
    输出:hel
    反向:
    msg='hello world'
    print(msg[::-1])
    输出: ldrow olleh

    msg=‘hello world’
    print(msg[-1:-12:-1])
    输出:dlrow olleh

    3.3、求长度len
    mgs='hello world'
    print(len(mgs))
    输出:11
    3.4、成员运算in和not in:判断一个子字符是否存在于大字符串中
    msg='kven is dsg'
    print('k' in msg)
    输出:True
    msg='kven is dsg'
    print('k' not in msg)
    输出:False

    3.5、移出空白strip:移出字符串左右两边的空白字符,不指定默认去除的是空格
    print('    test      '.strip())
    输出:test
    print('***********y*n********'.strip('*'))
    输出:y*n
    print('*******1****y*n*****2***'.strip('*12'))
    输出:y*n

    练习:输入内容自动去除空格
    name=input('>>>:').strip()
    pwd=input('pwd>>:').strip()
    if name == 'yzn' and pwd == '123':
    print('login successful')
    else:
    print('输错了。。。')
    3.6切分splist:针对有规律的字符串,按照某种分隔符切成列表
    info='yzn:18:male'
    res=info.split(':')
    print(res)
    输出:['yzn', '18', 'male']
    cmd='get|a.txt|3333'
    print(cmd.split('|',1))
    输出:['get', 'a.txt|3333']
    #用:号作为连接符号江春字符串列表拼接成一个字符串
    l=['yzn','18','male']
    res=':'.join(l)
    print(res)
    输出:yzn:18:male
    3.7、循环
    for item in 'hello':
    print(item)
    需要掌握的操作
    1、strip(默认去除左右两边空格)、lstrip(默认去除左边空格)、rstrip(默认去除右边空格)
    print('*******yzn******'.strip('*'))
    输出:yzn
    print('*******yzn******'.lstrip('*'))
    输出:yzn******
    print('*******yzn******'.rstrip('*'))
    输出:******yzn
    2、lower(大写转小写),upper(小写转换大写)
    print('YZN'.lower())
    输出:yzn
    print('yzn123YZN'.upper())
    输出:YZN123YZN
    3、startswith(是否由什么开头),endswith(是由什么结束)
    mgs='yzn is sg'
    print(mgs.startswith('yzn'))
    输出:True
    print(mgs.endswith('g'))
    输出True
    4、format的三种方法(格式化字符串,和%s功能相似)
    %s和format的区别是format不用一一对照占位符
    res='my name is %s my age is %s' %('yzn','18')
    print(res)
    输出:my name is yzn my age is 18
    reg='my name is {a} my age is {b}'.format(a='yzn',b=18)
    输出:my name is yzn my age is 18
    了解
    reg='my name is {} my age is {}'.format('yzn',18)
    print(reg) #format也可以按照顺序替换字符

    reg='my name is {1} my age is {0}'.format('yzn',18)
    print(reg)  #根据0,1顺序
    输出:my name is 18 my age is yzn

    5、splist(从右往左切)、rsplist(从左往右切)
    msg='a:b:c:d:e'
    print(msg.split(':',1))
    输出:['a', 'b:c:d:e']
    print(msg.rsplit(':',1))
    输出:['a:b:c:d', 'e']
    6、replace(替换)
    msg='keven is keven is hahaha'
    res=msg.replace('keven','sss')
    print(res)
    输出:sss is sss is hahaha
    默认有匹配到全部替换,替换一个(从左往右替换)
    msg='keven is keven is hahaha'
    res=msg.replace('keven','sss',1)
    print(res)
    输出:sss is keven is hahaha
    7、isdigit(判断字符串是否由存数字组成,则返回True
    print('123456'.isdigit())
    输出:True
    print('123456aaa'.isdigit())
    输出:False

    练习:
    注:strip()  #去除空格
      isdigit()  #判断是否是纯数字
    score=input('输入你的成绩:').strip()
    if score.isdigit():
    score=int(score)
    if score >= 90 :
    print('优秀')
    else:
    print('垃圾')
    else:
    print('输出的内容不是数字')
    了解:
    1、find、rfind,index,rindex,count
    find:输出从左输出第一个指定的值的位置
    rfind:输出从右边输出第一个指定的值得位置
    print('123 yzn xiaobai z '.find('yzn'))
    输出:4

    index:检测字符串中是否包含字符串,如果指定开始和结束范围,则检查是否包含在指定范围内
    rindex:字符串str在字符串中最后出现的位置。

    count:用于统计字符串里某个字符出现的次数,可选参数为在字符串搜索的开始与结束位置。
    print('yzn back123456'.count('n',0,2))  #查找n字符在0-2位置之间村建几次
    输出:0

    2、center,ljust,rjust,zfill
    center:返回一个原字符串居中,并使用空格填充至长度 width 的新字符串。默认填充字符为空格。
    print('yzn'.center(50,'1'))  #总长度50字符居中
    输出:11111111111111111111111yzn111111111111111111111111
    ljust:返回一个原字符串,使用空格填充字符后面
    print('yzn'.ljust(10,'*'))  #总个数为10
    输出:yzn*******
    rjust:返回一个原字符串,使用空格填充字符串前面
    print('yzn'.rjust(10,'*'))  #字符不够10用*号填充在字符前面
    输出:*******yzn
    zfil:返回一个原字符串,使用0填充字符串
    3,capitalize:首字母大写;swapcase:大小写反转;title:每一个单词的首字母大写
    print('abc defg'.capitalize())
    输出:Abc defg

    print('abcd efg'.swapcase())
    输出:ABCD EFG
    print('abcd EFG'.swapcase())
    输出:ABCD efg

    print('abcd efg'.title())
    输出:Abcd Efg
    3.1,按照索引取值(争相取值+反响取值):即可存可取

    l=['a','b','c','d']
    print(l[0])

    输出:a

    print(l[-1])

    输出:d

    l=['a','b','c','d']
    print(id(l))
    print(l)
    l[0]='A'
    print(id(l))
    print(l)

    2303160816520
    ['a', 'b', 'c', 'd']
    2303160816520
    ['A', 'b', 'c', 'd']

    字典增加元素

    dic={'k1':111}
    dic['k2']=222
    print(dic)
    输出:{'k1':111,'k2':222}

    3.2,切片(顾头不顾尾)

    3.5,追加(字典可以,列表不行)

    l=['a','b','c']
    l.append('aaa')
    print(l)

    输出:['a', 'b', 'c', 'aaa']

    往制定位置追加

    l=['a','b','c']
    l.insert(0,'xxxx')
    print(l)

    输出:['xxxx', 'a', 'b', 'c']

    3.6,删除

    l=['a','b','c']  #del不是列表独有的删除,字典也可以删除
    del l[0]
    print(l)

    输出:['b', 'c']

    l=['a','b','c']
    l.remove('a')  #指定要删除的那个元素,没有返回值
    print(l)

    输出:['b', 'c']

    l=['a','b','c']
    res=l.pop(-1)  #自定要删除的那个元素的索引,返回刚刚删掉的那个元素
    print(res)

    输出:c

    l.clear  #清除列表中的值

    l.sort  #排序,列表只有在列表中所有元素都是同种类型的情况下才能用sort排序,默认升序

    l.sort(reverse=Ture)  #降序

     
     
    
    









  • 相关阅读:
    在winform下实现左右布局多窗口界面的方法(一)
    C# 使用API检查域用户名和密码是否正确
    C#检查网络是否可以连接互联网
    总结:实体类和(XML或二进制)之间相互转(序列化和反序列化)
    XML和实体类之间相互转换(序列化和反序列化)
    C# XML反序列化与序列化举例:XmlSerializer
    XML文件与实体类的互相转换
    Message类的属性Msg所关联的消息ID
    C# Message 消息处理
    在.net中读写config文件的各种方法(自定义config节点)
  • 原文地址:https://www.cnblogs.com/yangzhaon/p/10581101.html
Copyright © 2011-2022 走看看