• day05


    可变不可变类型

    1、可变类型:值改变,但id不变,证明就是在改变原值是可变类型。

    2、不可变类型:值改变,但id也随着改变,证明是产生了新的值,是不可变类型。

    数字类型:

    一、整型int       不可变      存一个值

       1、用途:记录年龄、等级、数量

       2、定义方式:age=10     #age=int(10)

            数据类型转换:只能将纯数字的字符串转成int

       3、常用操作+内置方法:+、-、*、/等运算

    二、浮点型float       不可变        存一个值

       1、用途:记录身高、体重、薪资

       2、定义方式:salary=10.1   # salary=float(10.1)

             数据类型转换:只能将包含小数的字符串转成float

       3、 常用操作+内置方法:+、-、*、/等运算

    该类型总结:只能存一个值

                          不可变

    二、字符串类型

    1、用途:记录描述性质的状态

    2、定义方式:在单引号、双引号、三引号内包含一些字符串

          msg=‘hello’      #msg=str(‘hello’)

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

          res=str([1,2,3])

          print(res,type(res))

    3、常用方法及内置操作

          优先掌握的操作(*****)

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

       msg='hello'
    print(msg[0],type(msg)) h <class 'str'>
    print(msg[-1]) o
    print(msg[-2]) l
    反向取值从-1开始
    3.2 切片(顾头不顾尾,步长) (如果不指定开始位置,默认从0开始,不指定步长,默认步长为1,反向时以-1开始)
       msg='hello wolrd'


    res=msg[0:3:1]
    print(res) hel

       res=msg[:]
    print(res) hello world
    
    
       res=msg[-1:-12:-1]
    print(res) drlow olleh


       res=msg[-1::-1]
    print(res) drlow olleh

       res=msg[::-1]
    print(res) drlow olleh
    3.3 长度len
       msg='hello wolrd'
       print(len(msg))                11
    3.4 成员运算in和not in
       msg='xxx is dsb'
    print('xxx ' in msg) True
    print('sss' not in msg) True
    print(not 'sss' in msg) True
    3.5 移除空白strip:用来去除字符串左右两边的字符,不指定去除的字符,则默认去除空格
       msg='    hello'
    res=msg.strip()
    print(res,id(res)) hello 2498590286600
       msg='    hello'
    print(msg,id(msg))     hello 2802074587376
       print('***egon***'.strip('*'))                  egon
    print('***eg**on***'.strip('*')) eg**on
    print('**+-/*egon#$**'.strip('*+-/#$')) egon
       name=input('username>>>: ').strip()
    pwd=input('password>>>: ').strip()
    if name=='egon' and pwd=='123':
    print('login successful')
    else:
    print('输错了。。。')
    3.6 切分split:针对有规律的字符串,按照某种分隔符切成列表 split()默认空格
       info='egon:18:male'
    res=info.split(':')
    print(res[0],res[1]) egon 18

    split(‘:’,1) 前面为拆分依据,后面为拆分次数
    3.7循环
       for item in 'hello':         或:s='hello'
           print(item)                 i=0
                                       while i<len(s):
    print(s[i])
    i+=1
    结果:h
    e
    l
    l
    o


    需要掌握的操作:
    1.strip、lstrip、rstrip
    lstrip:移除左边的字符
    rstrip:移除右边的字符

    2.lower、upper
    lower:把小写字母转化为大写
    upper:把大写字母转化为小写

    3.startswith、endswith返回值为bool类型
    startswith:判断字符串是否以()内的开头
    endswith:判断字符串是否以()内的开头

    4.format的三种玩法 占位与实际数据要进行个数与位置的匹配
    res=‘my name is {name} my age is {age}’.format(age=18,name='egon')
    res=‘my name is {} my age is {}’.format('egon',18)
    res=‘my name is {0}{1} my age is {1}{1}{1}{1}’.format('egon',18)
    指定位置要数据{0}要0号位数据

    5.split、rsplit
    rsplit:从右开始切分

    6.replace
    replace(旧值,新值,替换个数)
    msg=‘Kevin is Kevin is hhhh’
    res=msg。replace(‘Kevin’,sb,1) sb is Kevin is hhhh

    7.isdight 如果字符串是由纯数字组成的,则返回True
    print(‘123123’.isdight()) True
    print(‘123123 ’.isdight()) Fales

    了解的操作
    1、find、rfind、index、rindex、count
    find/rfind:查找子字符串的索引,无结果返回-1
    s1='abcabc'
    print(s1.rfind('ab')) 返回第一次查询到的(目标字符串首位)正向索引
    index/rindex:查找子字符串索引,无结果抛出异常
    count:计算子字符串的个数
    2.center、ljust、rjust、zfill
    语法:center(所占位数,‘填充符号’)
    使用:调用者.center
    3.captalize:首字母大写
    swapcase:大小写反转
    title:单词首字母大写
    4.is数字系列
    isdight:判断是否可以转换为数字
    isdecimal:阿拉伯数字组成的字符串
    isnumeric:阿拉伯数字、中文、罗马组成的字符串
    5.is其他
    isalnum:是否由数字组成
    isalpha:是否由纯字母组成
    isidentifier:是否为合法字符
    islower/isupper:是否为全大/小写
    istitle:是否单词首字母大写


    该类型总结:只能存放一个值
    有序
    不可变


    列表类型
    为可变类型:在id不变的情况下,还可以修改内部数据
    基本使用
    1.用途:按照位置记录多个值,索引对应值
    2.定义方式:在[]内用逗号分隔开多个任意类型的值
    l=['a',11,11.3]
    l=list(['a',11,11.3])
    数据类型转换:单反能够被for循环遍历的数据类型都可以传给list被转成列表
    res=list('hello') ['h', 'e', 'l', 'l', 'o']
    res=list(123) 报错,整型不能被for循环遍历
    print(list)

    字符串<=>列表
    将字符串转换为列表:字符串方法
    l='helllo world'.split()
    print(l) ['helllo', 'world']
       将列表转换为字符串:字符串方法,调用方法的字符串为拼接字符串的依据
    将列表中的所有数据,从前往后,安装拼接符进行拼接
       ['helllo', 'world']

    newStr=‘@’.join(l)
       print(newStr)               hello@world
    3.常用操作及内置方法
    优先掌握的操作:
    3.1 按索引取值(正向存取+加反向存取):既可以存也可以取
    l=['a','b','c','d','e']
    print(l[0]) a
    print(l[-1]) e
    l[0]='A'
    print(id(l)) id不变
    强调强调强调!!!:对于不存在的索引会报错,但字典不会报错,会把不存在的加到原字典中
    3.2 切片(顾头不顾尾,步长)
    用法与字符串同
    3.3 长度(len)
    3.4 成员运算 in和not in
    3.5 追加与insert
    append:只能在末尾加
    insert:可以指定位置加
    3.6 删除
    del是一种删除操作,没有返回值
    remove指定要删除的那个元素,没有返回值
    pop指定要删除的那个元素的索引,返回刚刚删除的那个元素
    3.7 循环
    l=['a','b','c','d','e']
    for item in l:
    print(l)
    队列:先进先出
    堆栈:先进后出
    3.8 其他
    reverse:倒序
    sort:排序
    只有在列表中所有元素都是同类型的情况下才能用sort排序

    该类型总结:
    1.列表可以存放多个值
    2.列表为可变类型:id不变的情况下,可以发生值改变
    3.列表为有序存储结构:可以通过索引取值
      
     
  • 相关阅读:
    svn command line tag
    MDbg.exe(.NET Framework 命令行调试程序)
    Microsoft Web Deployment Tool
    sql server CI
    VS 2010 One Click Deployment Issue “Application Validation did not succeed. Unable to continue”
    mshtml
    大厂程序员站错队被架空,只拿着五折工资!苟活和离职,如何选择?
    揭秘!Windows 为什么会蓝屏?微软程序员竟说是这个原因...
    喂!千万别忘了这个C语言知识!(~0 == -1 问题)
    Linux 比 Windows 更好,谁反对?我有13个赞成理由
  • 原文地址:https://www.cnblogs.com/yangyinyin/p/10580791.html
Copyright © 2020-2023  润新知