Day2_数字类型_字符串类型_列表类型_元组_字典_集合_字符编码_文件处理

时间:2023-03-08 16:04:00

数字类型:

作用:年纪,等级,薪资,身份证号等;

10进制转为2进制,利用bin来执行。

10进制转为8进制,利用oct来执行。

10进制转为16进制,利用hex来执行。

#整型
age=10
print(type(age))
#浮点
salary=3000.3
print(type(salary))
#10进制转为2进制
print(bin(age))

字符串类型:

作用:可以表示的有名字,性别,国籍等。。

常用操作:

移除空白

name.stript()  #此时name是一个变量

*.stript()    #如果输入的是一堆*的话,我们可以再stript()里边将*加入,就可以去除*号了,*号需要用单引号引着。

*.lstript():只去除左边的

*,rstript():只去除右边的

切分:

*.split():以空白作为分割,如果以某种特殊符号作为分割,将符号写入()就行。

输出的方式是个列表,然后可以利用列表取出各种值。

*.stript():括号内还可以指定我最多切分几次,避免太多无用的信息。eg:*.strpit(':',1)

  #此处的1是最多分割一次

长度:

*._len_():  输出这个字符串的长度

  可以简写为:len(变量)

切片:

  取出字符串的某一段  *[1:3] :取出下标为第一个到第二个的下标。要取到第几个,在写的时候需要写到取到的数的下一个。

#移除空白
name=input("my name is:").strip()
print(name)
name='**********yangshuai******************'
print(name.stript('*'))
#切分
user_info="root:x:0:0::/root:/bin/bash"
print(user_info.split(":",1)[3])
#判断字符串长度
print(len(user_info))
#切片
print(user_info[1:5])

慢慢掌握的:

#判断结尾,开始是不是以什么为开始的:

name='yangshuai_NB'

print(name.endswith('NB'))

print(name.startswith('yangshuai'))

#将字符串的某段文字替换:

name='yangshuai say: i have a dream'
print(name.replace('yangshuai','laoshi',1))

# 往空字符串里面传值:

print('{} {} {}'.format('yangshuai',18,'male'))

print('{0} {1} {1}'.format('egon',18,'fomale'))
print('{name} {age} {sex}'.format(name='yangshuai',age=18,sex='male'))

#判断字符串输入的是不是数字:

num="123"

print(num.isdigit())

#找字符串中包不包含某些字符串:

print(name.find("a"),1,6)   #print(name.index('o'))这种是显示下标,如果没有会报错。

#如果存在会显示字符串的下标,如果不存在显示的是-1.可以指定从哪查找。

#查找字符串包含某个字符串的数量:

eg:print(name.count('o',1,3))

#将某个列表加入到字符串中:

l=['yangshuai','say','Good','boy']

print(':'.join(l))

#让字符串居中,或者在左边显示,或者在右边显示,以什么字符为填充。

name='yangshuai'
print(name.center(30,'*'))
print(name.ljust(30,'*'))
print(name.rjust(30,'*'))

#字符串的大小写转换

name='yangshuai'

print(name.lower())  #将字符串转为小写

print(name.upper())  #将字符串转为大写

print(name.title())   #将每个字符串的首字母转为大写

#判断字符串由某些东西组成:

print(name.isalnum())  #字符串由字母和数字组成  

print(name.isalpha())  #字符串只有字母组成

#判断不同种类的数字是不是字符串:

print(num.isdigit())  #一般只能判断数字

print(num.isnumeric())  #可以判断数字,汉字,罗马

列表类型:

作用:多个装备,多个爱好,多门课程等,可以存储多个值。。。。。。。。。

索引:

hobbies=['1','2','3']

#利用下标来取值,eg:print(hobbies[2])

切片:

#利用下标来切片,eg: print(hobbies[1:2])  取到第几位,就要在取值的里边+1

追加:

#将新的内容加到列表中

hobbies.append('4')

删除:

hobbies.pop()     #这样的话是从最后一个值开始删除

#如果传值的话,就是将列表中的哪个删除。

hobbies.remove('1')  #指定值得方式删除

统计长度:

hobbies._len_()    or     len(hobbies)

是不是包含:

pirnt('1' in hobbies)

清空整个列表:  hobbies.clear()

复制整个列表:  hobbies.copy()

统计某个值的数量:  hobbies.count('1')

向列表中添加值:  hobbies.append('4')

向列表中添加多个值:  hobbies.extend(['4','5'])

查看列表的索引: hobbies.index('2')

将列表反转:    hobbies.reverse()

将列表中的数字从小到大排序:  hobbies.sort()    从大到小就是:hobbies.sort(reverse=True)

将某个值插入到特定位置:    hobbies.insert(1,'SB') #括号内的1是插入到谁前边的值的索引,后边的是值。

队列:先见先出

堆栈:先进后出

  列表传值: #对应传值,传值的数量必须相等 #如果值不想要,可以利用  _  来匹配

  data=['yangshuai',24,[1994,10,12]]

  name,age,birth=data print(name)

  print(age)

  print(birth)

  name='yangshuai'

  a,b,c,d,e,f,g,h,i=name

  print(a,b,c,d,e,f,g,h,i)

#模拟队列

  fifo=[]

  lifo=[]

  fifo.append('1')

  fifo.append('2')

  fifo.append('3')

  print(fifo)

  print(fifo.pop(0))

  print(fifo.pop(0))

  print(fifo.pop(0))

  fifo.append('1')

  fifo.append('2')

  fifo.append('3')

  print(fifo)

  print(fifo.pop())

  print(fifo.pop())

  print(fifo.pop())