Python第五天课程回顾

基本数据类型的应用与内置方法

1.数字类型

整形(int):多用来记录年龄/身份证号/等级等等。定义方式:age=18。int只能将纯数字的字符串转换为整形,遇到float则会只取整数。

常用操作:赋值运算、比较运算、算术运算。

内置方法:只能存一个值,可变(不可hash)

浮点型(float):多用来记录薪资/身高/体重等等。定义方式:salary=1.7。

常用操作:赋值运算、比较运算、算术运算。

内置方法:只能存一个值,可变(不可hash)

2.字符串类型

字符串类型多用来记录描述事物特征:例如姓名/爱好/性别等等。可将任意类型转换为字符串。

常用操作

⑴按照索引正反向取值(只能取)

msg='hello world'
print(msg[0])
print(msg[-1])
print(msg[-1:-5:-1])     (反向一次取值步长应为-1)

⑵切片:从大字符串切出一片小字符串的功能,顾头不顾尾,可根据需要输入步长(默认步长为1)

msg='hello world'
print(msg[0:5])
print(msg[0::]) 此处0为第一个字符,若后面不加结尾值与步长,默认步长为1的全部取出

⑶长度(len):用于记录字符的个数,记录的结果以整形输出。

msg='hello world'
print(len(msg))      (中文一个字仅代表一个字符)

⑷成员运算(in/not in):判断某个字符串内是否含有你需要找的字符

msg='hello world'
print('ell' in msg)
False print('wo' not in msg)
True

⑸strip(移除字符串两边的字符  lstrip移除左边字符  rstrip移除右边字符)

msg='----------hello world----------'
print(msg.strip('-'))         若strip后不填则默认为移除空格,若字符串中间含有你要移除的字符则不会移除

msg=input('>>:    ').strip('*') 若需要去掉某个字符需在用户输入之后执行strip
if msg == '123':
print('successful')

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

msg='a,b,c,d,e'
li=msg.split(',',1)   此处需要根据上面的符号进行分割,上面用什么此处就用什么,后面为步长,不写默认为全部分割。
print(li)

⑺循环(for)

msg='hello'
for item in msg:        此处item为可更改的变量名,意为从msg中依次取出字符赋值给item
    print(item)

⑻lower与unpper:lower是将字符串中的所有字符转换为小写,upper则相反。

print('hello WORLD'.lower())
print('hello world'.upper())

⑼startswith与endswith:判断结尾是否是某个字符串或字符

print('hello world'.startswith('h'))    True
print('hello world'.endswith('x'))      false

⑽format的三种应用   (format 与 %s的区别就是%s只能依次按照顺序对应相应的值,而format可以在任意位置放入相应的值且不需要按照顺序)

print('my name is {name}, my age is {age}'.format(age=18,name='kk'))  使用变量成为占位符,再给变量名赋值
print('my name is {} , my age is {}'.format('kk',18))                 这里{}就等同于%s,会将format里的值依次放入{}
print('my name is {0}, my age is {1}'.format('kk',18))                按照format内的索引将值填入对应的{}

⑾split 与 rsplit:切分,将字符串以字符串内多有的符号以列表形式切分,split后步长默认1,若不填默认全部切分。rsplit 是从右向左切分。

msg='a,b,c,d,e'
print(msg.split(','))
print(msg.split(',',1))
print(msg.rsplit(','))
print(msg.rsplit(',',1))

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

⑿join:使用join将可迭代的列表或字典使用符号拼接成字符串

msg='a:b:c:d:e'
list1=msg.split(':')
print(list1)                     
msg1=','.join(msg)    join可将任何类型的值用逗号分隔开重新组成字符串
print(msg1)

⒀replace:是将字符串中的某个字符替换成你需要替换的字符,一层为你需要替换的字符或字符串,二层为要替换的字符或字符串,三层为从替换的个数。

msg=' my name is kk , my name is kk'
print(msg.replace('kk','KK',2))

⒁isdigit:只能判断一个字符是不是纯数字的字符串

print('9876'.isdigit())
print('jshdh45'.isdigit())

3.列表类型(list):在中括号内用逗号分隔开来的多个任意类型的值,多用于记录多个值,例如人的爱好,学生姓名等。

常用操作与内置方法

⑴按照索引正反向存取值,可存可取可删除可添加。

list1=['a','b','c','d']
print(list1[0])
list1[0]='A'         (此处改变了list1中a的值)
print(list1)

list1.append('e')    (此处在list1中添加了一个新的值)
print(list1)
del list1[0]         (此处删除了list中的a)
print(list1)

⑵长度(len):可以计算出列表中字符串的数量

list1=['a','b','c','d','KKKKKK']  (字符串的数量是5个所以结果就是5)
print(len(list1))

⑶成员运算in/not in:判断列表中是否存在某个字符串

list1=['a','b','c','d','KKKKKK']
print('K' not in list1)              (注意是字符串而不是字符)
True

⑷删除 remove 与 pop:remove是单纯的删除某个元素,而pop则是弹出某个元素后并反馈信息。

list1=['a','b','c','d','KKKKKK']                 list1=['a','b','c','d','KKKKKKK']              
res=list1.remove('a')                            res=list1.pop(1)
print(list1)                                     print(list1)
print(res)                                       print(res)


['b', 'c', 'd', 'KKKKKK']                        ['a', 'b', 'c', 'd']

None b

⑸循环:列表里可以使用for循环取值。

list1=['a','b','c','d','KKKKKK']
for item in list1:                 item只是一个变量名,后边的list1中的字符串是它要依次被赋予的值。
    print(item)

⑹count:计算某个字符串在当前值里出现的数量

list1=['a','b','c','c','d','KKKKKK']
print(list1.count('c'))            count括号内要加你需要查看数量的字符串

⑺extend 与 append:extend为扩充,就是将extend括号内的值依次添加到列表内。append为添加,与extend不同的是append添加的是单个内容,即append括号内的值是以一个整体添加到列表内的。

list1=['a','b','c','c','d','KKKKKK']
list1.extend([1,2,3])
print(list1)
                               list1.append([1,2,3])
                               print(list1)

['a', 'b', 'c', 'c', 'd', 'KKKKKK', 1, 2, 3]
                                                         ['a', 'b', 'c', 'c', 'd', 'KKKKKK', [1, 2, 3]]

⑻index:取索引值(意就是取出字符串在列表中的索引值是几,并且可以输入起始与结束位置(顾头不顾尾),若字符串不在查找范围内则会报错)

list1=['a','b','c','c','d','KKKKKK']
print(list1.index('KKKKKK',0,6))

⑼insert:插入,在列表中可在随意位置插入字符串。

list1=['a','b','c','c','d','KKKKKK']
list1.insert(0,'Z')     (注:0代表索引,Z代表要插入的字符串,字符串是添加在索引之前的。不添加索引则会报错)
print(list1)

⑽reverse 与 sort:reverse是反转,可意为将列表倒置过来。sort是排序,就是将字符串从小到大或从大到小进行排序

list1=[11,4,7,88]
list1.reverse()       这里进行反转得到的结果是将列表顺序倒置
print(list1)
list1.sort()          这里是排序得到的结果是将列表从小到大排序(可是sort内加入reverse=True,意为反转排序,就是从大到小进行排序)
print(list1)

该类型总结:

列表内可以存多个值

可以用索引来取值(有序)

是不可变可hash类型

4.练习队列、堆栈:

⑴队列:先进先出(先放进去的先拿出来)

q=[]
q.append('1')
q.append('2')
q.append('3')
print(q)
print(q.pop(0))
print(q.pop(0))     之前提到过pop后的参数为0时默认从第一位开始弹出
print(q.pop(0))

⑵堆栈:先进后出(先放进去的后拿出来)

q=[]
q.append('1')
q.append('2')
q.append('3')
print(q)
print(q.pop(-1))
print(q.pop(-1))    此处-1等于从最后一个开始弹出
print(q.pop(-1))

  

猜你喜欢

转载自www.cnblogs.com/lefy11-/p/9664340.html