数字型:

一、整型int

  作用:年纪,等级,身份证号,qq号等整型数字相关
  定义:age=10 #本质age=int(10)

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

常用操作+内置的方法:普通加减乘除运算

二、浮点型float

  作用:薪资,身高,体重,体质参数等浮点数相关

定义:salary=3000.3 #本质salary=float(3000.3)

数据类型转换:只能将带有小数点的字符串转换成float

常用操作+内置的方法:普通加减乘除运算

数字型总结:只能存一个值,并且值不可变

三、字符串

作用:记录描述事物性质的状态

定义:在单引号、双引号、三引号内,由一串字符组成

msg='hello' # msg=str('hello')

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

常用操作+内置的方法(背记背记背记):

1、按索引取值(正向取+反向取) :只能取(负号【-】为反向取值)

索引取值用【】

msg='hello'
print(msg[0],type(msg[0]))
print(msg[-1])
print(msg[-2])

# msg[0]='H' # 只能取 不能存入

2、切片(顾头不顾尾,步长)

切片也是索引故用【】

msg='hello world'
res=msg[0:3:1] # 0 1 2 #0=起始位 3=结束位 1=步长
print(res) #hel
print(msg) #hello world

res=msg[:] 默认为取全部 #hello world

res=msg[::2] #取 0 2 4 6 8 10 步长为2 #hlowrd

倒序切片

msg='hello world' -1开始数共-12位
res=msg[-1:-12:-1] 倒序从-1开始计位 #dlrow olleh
res=msg[-1::-1] 结束位为空默认取全部 #dlrow olleh
res=msg[::-1] 步长为-1即默认为倒序切片 #dlrow olleh
print(res)

3、长度len

msg='hello world' 字符串中输出变量值有几个字符
print(len(msg)) #11

4、成员运算in和not in判断一个子字符串是否存在于大字符串中

msg='kevin is dsb'

print('kevin' in msg) #True
print('dsb' in msg) #True
print('aaa' not in msg) #True
print(not 'aaa' in msg) #True

5、移除空白strip用来去除字符串左右两边的字符,不指定默认去除的是空格

msg=' he llo '
res=msg.strip()
print(res,id(res)) #he llo 1432718898040
print(msg,id(msg)) #he llo 1432718128376

print('******eg**on*****'.strip('*')) 去除*号 #eg**on
        print('***+-\/***egon#@$*****'.strip('*+-\/#@$')) 去除*+-\/#@$号

name=input('username>>>: ').strip() # name='egon ' 去除无意输入得空格
pwd=input('password>>>: ').strip() 以防止系统识别为错误

if name == 'egon' and pwd == '123':
print('login successful')
else:
print('输错了。。。')

6、切分split:针对有规律的字符串,按照某种分隔符切成列表

info='egon:18:male'
res=info.split(':') 以:为切分符号切分成列表,可加步长
print(res,type(res)) #['egon', '18', 'male'] <class 'list'>
print(res[0],res[1]) #egon 18

cmd='get|a.txt|33333'
print(cmd.split('|',1)) ||||为切分点,1为切几分 # ['get', 'a.txt|33333']

用:号作连接符号将纯字符串的列表拼接成一个字符串
l=['egon', '18', 'male'] # 'egon:18:male'
res=l[0]+':'+l[1]+':'+l[2]
res=':'.join(l) jion可以代替上面一种落后得复杂代码
print(res) #egon:18:male

7、循环

for item in 'hello': 每次循环输入一个字母
print(item)

需要掌握的操作
1、strip,lstrip,rstrip
        print('******egon***********'.strip('*'))  #egon 去除所有*
        print('******egon***********'.lstrip('*')) #egon***********  去除左边*
        print('******egon***********'.rstrip('*')) #******egon 去除右边*

2、lower,upper
print('Abc123'.lower()) 全部变小写 #abc123
print('Abc123'.upper()) 全部变大写 #ABC123

3、startswith,endswith

msg='alex is dsb'
print(msg.startswith('alex')) 从..开始 开始的字符串一一对应即可 True
print(msg.endswith('b')) 以..结束 倒序字符串一一对应即可 True

4、format的三种玩法(传值

res='my name is %s my age is %s' %('egon',18)
print(res) #my name is egon my age is 18

res='my name is {name} my age is {age}'.format(age=18,name='egon')
print(res) #my name is egon my age is 18 赋值即key=value

res='my name is {} my age is {}'.format(18,'egon') {}不赋值则默认顺序填充
print(res) #my name is egon my age is 18

了解

res='my name is {0}{1} my age is {1}{1}{1}{1}'.format('egon',18)
print(res) #my name is egon18 my age is 18181818

5、split,rsplit(切分)

msg='a:b:c:d'
        print(msg.split(':',1)) 1为步长,左至右切分一个 #['a', 'b:c:d']

print(msg.rsplit(':',1)) 右至左切分一个 # ['a:b:c', 'd']

6、replace(替换)

msg='kevin is kevin is hahahah'
res=msg.replace('kevin','sb',1) 1=替换个数
print(res) #sb is kevin is hahahah

7、isdigit(判断是否为纯数字)

print('123123'.isdigit()) # True 如果字符串是由纯数字组成的,则返回True
print('123123 '.isdigit()) #Flase 出现空格
print('123123asdf'.isdigit()) #Flase 出现字母
print('12312.3'.isdigit()) #Flase 出现小数点

score=input('>>>>: ').strip() #score='asdfasdfasfd' (举例说明求证)
if score.isdigit():
score=int(score)

if score >= 90:
          print('优秀')
      else:
          print('小垃圾')
    else:
        print('必须输入纯数字')
===========================字符串类型总结==============================
        只能存一个值

        有序

        不可变
        msg='                  hello  '
        msg.strip()
        print(msg)

四、列表类型

======================================基本使用======================================
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) 整型不能被转换成列表
print(res)

res=list({'a':1,'b':2,'c':3}) # []
print(res) #['a', 'b', 'c']

3、常用操作+内置的方法

优先掌握的操作:
3.1、按索引存取值(正向存取+反向存取):即可存也可以取
l=['a','b','c','d','e']
print(l[0]) #a
print(l[-1]) #e
print(id(l)) #1885572047752
l[0]='A' id改变说明可以存
print(id(l)) #2254437098376

强调强调强调!!!:对于不存在的索引会报错

l[5]='AAAA'

dic={"k1":111}
dic['k2']=2222 字典是可以添加索引的
print(dic)

3.2、切片(顾头不顾尾,步长)

l=['a','b','c','d','e']
print(l[1:4]) #['b', 'c', 'd']
print(l[::-1]) #['e', 'd', 'c', 'b', 'a'] 列表亦可倒序切片

3.3、长度

l=['a','b','c','d','e']
print(len(l)) #5

3.4、成员运算in和not in

l=['a','b','c','d','e']
print('a' in l) True

3.5、append(追加)与insert(插入)

l=['a','b','c','d','e']
l.append('xxx')
l.append('yyy')
print(l) #'a', 'b', 'c', 'd', 'e', 'xxx', 'yyy']

l=['a','b','c','d','e']

l.insert(0,'xxxx') 0=插入的位置
print(l) #['xxxx', 'a', 'b', 'c', 'd', 'e']

3.6、删除(del、remove)

l=['a','bbb','c','d','e']
del是一种通用的删除操作,没有返回值
del l[0] 0=删除的位置
print(l) #['bbb', 'c', 'd', 'e']

dic={'k1':1}
del dic['k1']
print(dic) #{}

l.remove(指定要删除的那个元素),没有返回值

l=['a','bbb','c','d','e']
res=l.remove('bbb')
print(l) #['a', 'c', 'd', 'e']
print(res) #None

l.pop(指定要删除的那个元素的索引),返回刚刚删掉的那个元素

l=['a','bbb','c','d','e']
l.pop(-1)
res=l.pop(1)
print(l) #['a', 'c', 'd']
print(res) #bbb

3.7、循环

l=['a','b','c','d','e']
for item in l:
print(item) #依此取出一个字母

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

堆栈:后进先出
l=[]
入队
l.append('first')
l.append('second')
l.append('third')
print(l) #['first', 'second', 'third']
出队
print(l.pop(-1)) #first
print(l.pop(-1)) #second
print(l.pop(-1)) #third

需要掌握的操作

l=['aaa','bb',345]
l.clear() #清除列表中的值
l.append([1,2,3]) #在列表中追加值
print(l) #[[1, 2, 3]]

l=['aaa','bb',345]
for i in [1,2,3]:
l.append(i)
l.extend([1,2,3])
print(i) #3
print(l) #['aaa', 'bb', 345, 1, 2, 3, 1, 2, 3]

l.reverse():只有在类中中所有元素都是同种类型的情况下才能用sort排序

l=[1,3,2]
l.sort(reverse=True) sort是将类中元素从小到大排序,reverse是倒序
print(l) #[1, 2, 3]

l=['z','d','a']
l.sort()
print(l) #['a', 'd', 'z']