数据基本类型及内置方法:字符串str、列表list
一:可变不可变类型
1、可变类型
值改变,id不变,说明是直接改变原值,是可变类型
2、不可变类型
值改变,id也跟着改变,说明是产生了新的值,是不可变类型
二:数字类型
1、整型Int
用途: 记录年龄、等级、号码
定义:age = 10
数据类型转换:只能将纯数字的字符串转化为Int
x = '123'
print(int(x)) # 123
2、浮点型float
用途:记录薪资等
定义:salary = 12.1
数据类型转换:只能将带有小数点的数字字符串转换为float
3、该类型总结
存一个值,不可变类型
三:字符串类型
用途:记录带有描述性质的状态
定义:单引号、双引号、三引号内包含一系列字符
1.、操作及内置方法:
1.优先掌握的方法
#索引(正向、反向)
s = 'hello world'
print(s[0]) # h
print(s[-1]) # d
#切片(顾头不顾尾)
s = 'hello world'
print(s[0:5]) # hello
print(s[0:5:1]) # helo
#长度len
s = 'hello world'
print(len(s)) #11
#成员运算In、not in
s = 'hello world'
'h' in s #True
'a' in s # False
#切分(按照某种分隔符将字符切分为列表,以便于取值,split参数默认是空格)
s = 'hello,world'
print(s.split(',')) # ['hello', 'world']
#去除字符串左右两边空格strip(strip参数默认是空格,可以自己指定想删除的字符)
s = '****he*llo*****'
print(s.strip('*')) # he*llo
#循环
s = 'hello'
for i in s:
print(i) # h e l l o
2.需要掌握其他方法
#strip、lstrip(去除左边空格)、rstrip(去除右边空格)字符可以指定,默认空格
#lower(将字符串字母全部变为小写)、upper(将字符串字母全变为大写)
#startswith(判断字符串是否以某个子字符串开头)、endswith(判断字符串是否以某个子字符串结束)
#format
print('my name is {} my age is {}' %('egon',18))
print('my name is {0} my age is {1}' %('egon',18))
print('my name is {name} my age is {age}'.format(age=18,name='egon')) #该方法要求掌握
#split、rsplit
msg='get|a|3'
print(msg.split('|',1)) #['get', 'a|3']
print(msg.split('|')) #['get', 'a', '3']
print(msg.rsplit('|',1))#['get|a', '3']
#join
msg='get|a.txt|333331231'
l=msg.split('|')
print(l)
src_msg='|'.join(l)
print(src_msg)
#replace
msg='alex say i have one tesla,alex is alex hahaha'
print(msg.replace('alex','sb',1))
print(msg)
#isdigit # 判断字符串中包含的是否为纯数字
print('10.1'.isdigit())
age=input('>>: ').strip()
if age.isdigit():
age=int(age) #int('asfdsadfsd')
if age > 30:
print('too big')
elif age < 30:
print('too small')
else:
print('you got it')
else:
print('必须输入数字')
#isalpha、isalnum
s = '123'
print(s.isalpha()) #False, 因为isalpha是判断是否全是英文
print(s.isalnum()) #True, 因为isalnum是判断字符串里只有数字或者英文
2、字符串类型总结
存一个值、有序、不可变类型
四:列表类型
用途:记录多个同种属性的值
定义:[]内用逗号分隔任意类型的值
1.、操作及内置方法:
1.优先掌握的方法
#索引(正向、反向)
s = ['h','e','l','l','o']
print(s[0]) # 'h'
print(s[-1]) # 'o'
#切片(顾头不顾尾)
s = ['h','e','l','l','o']
print(s[0:4]) # ['h', 'e', 'l', 'l']
print(s[0:4:1]) # ['h', 'e', 'l', 'l', 'o']
#长度len
s =['h','e','l','l','o']
print(len(s)) #5
#成员运算In、not in
s = ['h','e','l','l','o']
'h' in s #True
'a' in s # False
#追加
s = ['h','e','l','l','o']
s.append(1) # s = ['h','e','l','l','o',1]
s.extend([2, 3]) # s = ['h','e','l','l','o',1, 2, 3] 将有序的数据类型逐个插入列表
#删除
s = ['h','e','l','l','o']
del s[0]、remove('h') #删除值,没有返回值
pop(0) #删除第一个并返回值,不指定索引时默认删除最后一个
#循环
s = ['h','e','l','l','o']
for i in s:
print(i) # h e l l o
2、其他操作
#队列与堆栈
# 队列:先进先出
# l=[]
# 入队
# l.append('first')
# l.append('second')
# l.append('third')
# print(l)
# # 出队
# print(l.pop(0))
# print(l.pop(0))
# print(l.pop(0))
# 堆栈:先进后出
l=[]
# 入栈
l.append('first')
l.append('second')
l.append('third')
# print(l)
# 出栈
print(l.pop())
print(l.pop())
print(l.pop())
#index、find(输入想要找的值,如果找到则返回索引,其中Index找不到会报错,find找不到会返回-1)
#reverse(将列表顺序颠倒)
#sort(将列表元素按照从小到大排序,如果reverse=True则颠倒,改方法适用于列表内元素类型都一致)#sort()会改变原列表,而sorted()则是产生新的列表
#count(统计一个值在列表内出现的次数)
s = ['h','e','l','l','o']
print(conut('l')) # 2
2、列表类型总结
存多个值、有序、可变类型