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

 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可以把列表里的元素弹出来再取到.每取出来一个就从新索引再取出.




























 

 

  

posted on 2018-09-17 19:19  海贼王。  阅读(176)  评论(0编辑  收藏  举报