zoukankan      html  css  js  c++  java
  • 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.列表为有序存储结构:可以通过索引取值
      
     
  • 相关阅读:
    Python的命名空间及作用域
    STM32 RTC时钟的配置
    STM32 输入捕获配置
    stm32 看门狗配置
    led灯的驱动电流和电阻
    STM32中TIMx的映射及其通道
    STM32中断定时,控制LED灯
    STM32 用c语言控制4个LED灯从左向右无限流动
    SYSTEMsyssys.c:33:7: error: expected '(' before 'void' __ASM void MSR_MSP(u32 addr)
    STM32 PWM输出(映射)
  • 原文地址:https://www.cnblogs.com/yangyinyin/p/10580791.html
Copyright © 2011-2022 走看看