• 学习python课程第五天


    一.可变类型和不可变类型:

     1.可变类型. 

    值变了,但是id没变.证明没有生成新的值而是在改变原值的就是可变类型.

    y=['a','b','c']

    print(id(y))

    y[0]='A'a

    print(y)

    print(id(y))

    2.不可变类型.

    值变了,id也跟着变了,证明是生成了新的原值,而不是在改变原值的就是不可变类型.

    x=10

    print(id(x))

    x=11

    print(id(x))

    二.数字类型:

    1.整形,

    用途:年龄,身份证号.等级..   定义方式: age = 18   age=int(18) 只能将纯数字字符串转换成整型.

    常用的操作方法:  用于赋值,比较,算数.

    该类型的总结:

    整型之存在一个值,是不可变的.(1.可变:值变,id不变.不可hash.2.不可变:值变,id就变.可hash)

    print(hash(10))

    print(hash(['1','2','3']))

    三.字符串类型:

    用途:记录描述性的内容,比如名字.地址,性别.    定义方式:在单引号,双引号.三引号内包含的字符.

    msg='abcd'  msg=str('abcd').

    可以将任意类型转换成字符串.:

    str(1)  str(1,3) x =  str(【1,2,3】) print(x,type(x))

    常用的操作方法:

    1.按索引取值.(正向取,反向取.):只能取.

    msg='hello world'

    print(msg[0])

    print(msg[5])

    print(msg[len(msg)-1])

    print(msg[-1])

    2.切片(顾头不顾尾.后面可以加步长.):用途:想要从一个大字符串里切出来一个小字符串.

    msg='hello world'

    prit(msg[0:5])

    print(msg)

    print(msg[0:5:2])

    print(msg[-1::-1]    (这个方法可以把字符串全部倒过来.)

    3.长度len

    msg=‘hello world’

    print(len(msg))

    4.成员运算  (     in  和  not  in)

    msg=‘袁冲是个烦人虫’

    print(‘袁冲’ in msg) True

    print(‘烦人虫’ in msg)Ture

    print(‘sb’ not in msg)True

    print(‘是个’not in msg)False

    5.移除字符串左右两变的字符strip:默认去空格  lstrip 从左开始去除. rstrip 从右开始去除

    pwd = ‘       1   23      ’

    res=pwd.strip('  ')

    print(res)

    常用与去除密码的空格等.

    pwd=input('>>: ').strip()  #pwd='123'

    if pwd == '123':

      print('密码正确')

    在stirp后的括号里输入什么就去除什么.

    6.切分.split:针对有规律的字符串按照某个字符切成列表:

    info='lypdsb$23$man'

    li=info.split('$',1)

    print(li)

    7.for 循环

    msg='hello'

    for item in msg:

      print(item)

    该类型总结:

    只存在一个值,  是有序的,  不可变, 

    s1= 'hello'

    print(id(s1))

    s1=‘world’

    print(id(s1))

    需要掌握的操作 之 五颗星!!!!!!!!!

    1.strip,lstrip,rstripprint('****egon***'.strip('*')) 从左右两边print('****egon***'.lstrip('*')) 从左边去print('****egon***'.rstrip('*')) 从右边去

    2.lower, upper
    print('AAAAAAABBBBBB'.lower())把字符换成小写字母
    print('aaaaaaabbbbbb'.upper())把字符换成大写字母

    3.startswith, endswith
    print('alex is sb'.startswith('alex'))判断是不是以某个字符开始.
    print('alex is sb'.endswith('sb')) 判断是不是以某个字符结束.

    4.format的三种玩法:
    print('my name is {name} my age is {age}'.format(age=18,name='lyp')) 可以直接标注,代替占位符.
    print('my name is {} my age is {}'.format(18,'egon')) farmat后面的字符是按照顺序运用的.
    print('my name is {1} my age is {0}'.foemat(18,'egon')) 可以用数字来标注让它有序的运用.

    5.split,rsplit
    msg='a:b:c:d:e:'
    print(msg.split(':',1)) 可以把字符串切分成列表,从头开始切.1是切分的次数,

    print(msg.rsplit(':',1))可以把字符串切分成列表,从尾开始切.1是切分的次数,

    6.join
    msg='a:b:c:d:e:'
    list1=msg.split(':')
    msg1=':'.join(list1)
    print(msg1)

    info='egon:123:male'
    list1=info.split(':')
    print(list1)
    print(':'.join(list1))
    可以把split转换过的字符串再转换回来.

    7.replace:
    msg='alex is alex alex is hahahaha'
    print(msg.replace('alex','SB',1))
    可以把字符串里的字符代替.后面的数字是代替的次数.

    8.isdigit
    print('123',isdigit())
    print('12.3',isdigit())
    只能判断纯数字的字符串.

    四.列表类型:
    用途:记录多个值,比如个人爱好 定义方式:在[]内用逗号分隔开多个任意类型的值
    li=[1,2,3] # li=list([1,2,3])
    列表是可变类型.
    x=list('hello')
    x=list({'a':1,'b':2,'c':3})
    print(x)
    可以把字符串跟字典转换成列表.

    1.常用的操作+内置方法:
    优先掌握的操作:
    1.按索引存取值(正向存取+反向存取):即可存也可以取
    li=['a','b','c','d']
    print(li[-1])
    li[-1]='D'
    print(li)

    li[4]='e'
    del li[0]
    print(li)
    想存到哪可以索引到那,想取哪个也是索引到哪个.

    2.切片(顾头不顾尾,步长)
    li=['a','b','c','d']
    print(li[0:3])

    3.长度: len

    print(len(li))

    4.成员运算in和not in
    users=['egon','lxx','lyp''alex',[1,2,3]]
    print('lxx' in users) True
    print([1,2,3] in users) True
    print(1 in users) False

    5.追加
    li=['a','b','c','d']
    print(id(li))
    li.append('e')
    li.append([1,2,3])
    print(li,id(li))
    可以随意加上字符串.值变但id不变,表示列表是可变类型.

    6.删除
    li=['a','b','c','d']
    按照元素值去单纯的删除某个元素
    del li[1]
    res=li.remove('c')
    print(li)
    print(res)
    按照元素的索引去删除某个元素并且拿到该元素作为返回值
    res=li,pop(1)
    print(li)
    print(res)

    7.循环
    li=['a','b','c','d']
    for itme in li:
      print(itme)


    该类型总结:
    存在多个值. 是有序的, 是可变的 print(hash([1,2,3]))

    需要掌握的操作!!!! 五颗星!
    li=['a','b','c','d','c','e']
    print(li.count('c'))
    li.extend([1,2,3])
    li.append([1,2,3])
    print(li)

    count可以运算出列表里所索引的字符串有几个.

    extend可以把加到列表里的列表分开加入进去,

    append可以把列表直接加入进去.


    li=['a','b','c','d','e','z']
    print(li.index('z'))
    print(li.index('b'))
    print(li.index('d',0,4))

    index是把想要索引的元素位置找出来,后面的数字表示几到几之间的范围.

    li=['alex','egon','lxx','wupeiqi']
    li.insert(1,'egon')
    print(li)

    insert是把想要插进去的字符串插入进去,数字代表想要插入的位置.


    li=[3,1,9,11]
    li.reverse()
    print(li)

    reverse可以把列表倒过来表示.

    li.sort(reverse=True)
    print(li)

    sort可以把列表内的数字从小到大永久排序,如果后面加上(revese=True)就会从大到小排序.



    练习:
    队列,先进先出.
    q=[]
    q.append('first')
    q.append('second')
    q.append('third')
    print(q)
    print(q.pop(0))
    print(q.pop(0))
    print(q.pop(0))

    pop可以把列表里的元素弹出来再取到.每取出来一个就从新索引再取出.




























      

  • 相关阅读:
    OC与AS3的观察者模式比较以及外部回调
    判断矩形重叠
    2010谷歌校园招聘笔试题
    2011谷歌校园招聘笔试题
    2012Google校园招聘笔试题
    2013谷歌校园招聘笔试题2
    2013谷歌校园招聘笔试题
    2012搜狗校园招聘笔试题
    2013搜狗校园招聘笔试题
    搜狐面试题
  • 原文地址:https://www.cnblogs.com/lvyipin1/p/9664311.html
Copyright © 2020-2023  润新知