------------------------------------------------------------------数字类型---------------------------------------------------------------------
#一:基本使用
# 1 int用途:年龄 号码 等级...
# 2 定义方式
age=10 #age=int(10)
x=int('1111') # int只能将纯数字的字符串转成十进制的整型
print(type(x))
# 3 常用操作+内置的方法
#算数运算,比较运算
#二:该类型总结
# 1 存一个值or存多个值
# 只能存一个值
age=10
age
# 2 有序or无序
# 没有有序无序这么一说
# 3 可变or不可变
#可变不可变类型总结:
# 可变指的是改变原值,即在原值基础上进行修改
# 可变类型的底层原理:在id不变的情况下,值可以改变
# 不可变类型的底层原理:值改变,id也跟着变
#int是不可变数据类型
age=10
print(id(age))
age=11
print(id(age))
# 了解(**):
# 长整型Long,只有在python2中才有长整型号
# 复数complex
x=1-2j
print(x.real)
print(x.imag)
print(type(x))
#一:基本使用
# 1 用途:薪资 身高 体重
# 2 定义方式
salary=3.1 #salary=float(3.1)
n=float('3.1')
# 3 常用操作
#算数运算 比较运算
# #二:该类型总结
# 1 存一个值or存多个值
# 只能存一个值
#
# 2 有序or无序
# 没有有序无序这么一说
# 3 可变or不可变
# float是不可变类型
x=3.1
print(id(x))
x=3.2
print(id(x))
-------------------------------------------------------------------------------字符串类型------------------------------------------------------------
#一:基本使用
# 1 用途: 描述性质的数据,比如人的名字,单个爱好,地址
# 2 定义方式
name='egon' #name=str('egon')
x=str(1)
y=str(1.1)
z=str([1,2,3])
n=str({'a':1})
print(type(x))
print(type(y))
print(type(z))
print(type(n))
# 3 常用操作+内置的方法
#优先掌握的操作(*****):
#1、按索引取值(正向取+反向取) :只能取
msg='hello world'
print(type(msg[5]))
print(msg[-1])
msg[2]='A'
#2、切片(顾头不顾尾,步长)
msg='hello world'
print(msg[1:5],type(msg[1:5]))
print(msg[6:-1])
print(msg[6:11])
print(msg[6:])
print(msg[6::2])
了解(**)
print(msg[0:])
print(msg[::-1])
msg='hello world'
print(msg[-3:-6:-1])
print(msg[6:9:-1])
#3、长度len
msg='hello world'
print(len(msg))
#4、成员运算in和not in
print('SB' in 'my name is alex,alex is SB')
print('alex' in 'my name is alex,alex is SB')
print('egon' not in 'my name is alex,alex is SB') # 推荐
print(not 'egon' in 'my name is alex,alex is SB')
#5、移除空白strip
name=' e gon '
print(name.strip(' '))
print(name.strip())
name='****A*e*gon****'
print(name.strip('*'))
name='****egon****'
print(name.lstrip('*'))
print(name.rstrip('*'))
pwd=input('>>: ').strip() #pwd='123 '
if pwd == '123':
print('login successful')
msg='cccabcdefgccccc'
#'c'
print(msg.strip('c'))
print('*-=egon *&^'.strip('-= *&^'))
#6、切分split
msg='egon:18:male:180:160'
l=msg.split(':')
print(l)
print(l[3])
#7、循环
msg='hello world'
for x in msg:
print(x)
# 需要掌握的操作(****)
# 1、strip,lstrip,rstrip
# 2、lower,upper
name='EoN'
print(name.lower())
name='egonN'
print(name.upper())
#3、startswith,endswith
print('alex is SB'.startswith('alex'))
print('alex is SB'.endswith('B'))
#4、format的三种玩法
print('my name is %s my age is %s' %('egon',18))
print('my name is {name} my age is {age}'.format(age=18,name='egon')) # 可以打破位置的限制,但仍能指名道姓地为指定的参数传值
print('my name is {} my age is {}'.format('egon',18))
print('my name is {0} my age is {1} {1} {1} {1}'.format('egon',18))
#5、split,rsplit
info='egon:18:male'
print(info.split(':',1))
print(info.split(':',1)) #['egon','18:male']
print(info.rsplit(':',1)) #['egon:18','male']
#6、join:只能将元素全为字符串的列表拼成一个大的字符串
info='egon:18:male'
l=info.split(':')
print(l)
new_info='-'.join(l)
print(new_info)
num=['a','b','c']
':'.join(num) #'a'+':'+'b'+':'+'c'
num=[1,2,'c']
':'.join(num) #1+':'+2+':'+'c'
--------------------------------------------------------------------列表相关----------------------------------------------------------------------
#作用:多个装备,多个爱好,多门课程,多个女朋友等
#定义:[]内可以有多个任意类型的值,逗号分隔
my_girl_friends=['alex','wupeiqi','yuanhao',4,5] #本质my_girl_friends=list([...])
l=list('hello') # list内只能跟能够被for循环遍历的数据类型
print(l)
l=list({'a':1,'b':2})
print(l)
#优先掌握的操作:
#1、按索引存取值(正向存取+反向存取):即可存也可以取
names=['alex','wxx','lxx','egon']
names[0]='ALEX'
print(names)
#2、切片(顾头不顾尾,步长)
names=['alex','wxx','lxx','egon']
print(names[0:3])
#3、长度
names=['alex','wxx','lxx','egon']
print(len(names))
#4、成员运算in和not in
names=['alex','wxx','lxx','egon',4]
print(4 in names)
#5、追加
names=['alex','wxx','lxx','egon']
names.append('cxx1')
names.append('cxx2')
names.append('cxx3')
print(names)
#6、删除
names=['alex','wxx','lxx','egon']
del names[2]
print(names)
#7、循环
names=['alex','wxx','lxx','egon']
for name in names:
print(name)
# 需要掌握的操作(****)
names=['alex','wxx','lxx','egon',4,3.1]
names.insert(1,'SB')
print(names)
names=['alex','wxx','lxx','egon',4,3.1]
res=names.remove('wxx') # 单纯的删掉,是按照元素的值去删除,没有返回值
print(res)
print(names)
names=['alex','wxx','lxx','egon',4,3.1]
res=names.pop(1) #拿走一个值,是按照索引去删除,有返回值
print(names)
print(res)
names=['alex','wxx','lxx','egon',4,3.1]
print(names.pop())
print(names.pop())
names=['alex','wxx','lxx','lxx','egon',4,3.1]
print(names.count('lxx'))
print(names.index('lxx'))
names.clear()
print(names)
x=names.copy()
print(x)
names.extend([1,2,3])
print(names)
names.reverse()
print(names)
names=[1,10,-3,11]
names.sort(reverse=True)
print(names)
#二:该类型总结
# 1 存一个值or存多个值
# 可以存多个值,值都可以是任意数据类型
#
# 2 有序or无序
# 有序
# 3 可变or不可变
# 可变
l=['a','b']
print(id(l))
l[0]='A'
print(id(l))