PythonDay03-基础数据类型及使用

一、基本数据类型
int 123,4,1 +-/
bool False,True 判断真假
str 'ads','a' +
int 存储少量的数据
list [12,'a',True] 存储大量的数据
tuple (12,'a',True) 存储大量的数据,元素不可以改变
dict {'name':'liubin'} 存储大量关联的数据,查询速度快

二、基本数据类型的使用
数据类型之间的转换
1、str<---->bool
s = ''
print(bool(s)) #False
s = '100'
print(bool(s)) #True
#应用:
s = input('请输入内容:')
if bool(s):
print('有内容')
else:
print('没有内容')

	s = True
	print(s,type(s))            #True <class 'bool'>
	print(str(s),type(str(s)))  #True <class 'str'>
2、bool<---->int
	a = 0
	b = 1
	c = -1
	print(bool(a),bool(b),bool(c))   #False True True
	a = True
	b = False
	print(int(a))  #1
	print(int(b))  #0
3、str<---->int  str的元素必须全部是数字
	s = '1231243'
	print(int(s),type(int(s)))  #1231243 <class 'int'>
	a = 3424
	print(str(a),type(str(a)))  #3424 <class 'str'>
4、int bit_length输出int数据有效的二进制位数
	i = 123
	print(i.bit_length())    #7   0111 1011
	i = 42
	print(i.bit_length())    #6   0010 1010
字符串的操作
1、字符串索引   对字符串索引切片出的数据类型仍是字符串
	s = 'python22期全栈'   
	s1 = s[0]
	s2 = s[-1]
	print(s1,type(s1))   #p <class 'str'>
	print(s2,type(s2))   #栈 <class 'str'>
2、切片  顾头不顾尾
	'''
	按照索引 s1[index]
	按照切片 s1[start_index:end_index+1]
	按照步长 s1[start_index:end_index+1:2]
	反向取 s1[start_index:end_index:-1]
	'''
	s = 'python22期全栈'
	s1 = s[0:5]
	s2 = s[:5]
	s3 = s[6:]
	s4 = s[:-1:2]
	s5 = s[-1:-6:-1]
	print(s1)   #pytho
	print(s2)   #pytho
	print(s3)   #22期全栈
	print(s4)   #pto2期
	print(s5)   #栈全期22
3、字符串的大小写 upper、lower
   upper、lower不会对原字符串进行操作,都是产生一个新的字符串
	s = 'liuiBin'
	s1 = s.upper()
	s2 = s.lower()
	print(s1)  #LIUIBIN
	print(s2)  #liuibin
	应用:验证码
	userName = input('请输入用户名:')
	userPasswd = input('请输入密码:')
	code = 'Qfs6'
	print(code)
	yourCode = input('请输入验证码(不区分大小写):')
	
	if yourCode.lower() == code.lower():
		if userName == 'liubin' and userPasswd == '123456':
			print('登录成功')
		else:
			print('账号或密码错误,请确认后再登录')
	else:
		print('验证码错误,请重新输入')
4、判断字符串以什么开头  startswith
	s = 'liubinSmart'
	print(s.startswith('l'))       #True
	print(s.startswith('liu'))     #True
	print(s.startswith('S',6,8))   #True
5、字符串的替换  replace,默认是全部替换
	msg = 'liubin is Smart;liubin is clever'
	msg1 = msg.replace('liubin','zlt') #默认全部替换
	msg2 = msg.replace('liubin','zlt',1)
	print(msg)      #liubin is Smart;liubin is clever
	print(msg1)     #zlt is Smart;zlt is clever
	print(msg2)     #zlt is Smart;liubin is clever
6、切片split  默认按照空格切,返回值是一个列表
	s9 = '太白 女神 吴超'
	s10 = s9.split()
	print(s9)      #太白 女神 吴超
	print(s10)     #['太白', '女神', '吴超']
	s11 = ':hanamichi:nvshen:zlt'
	s12 = s11.split(':')
	s13 = s11.split(':',2)
	print(s11)       #:hanamichi:nvshen:zlt
	print(s12)       #['', 'hanamichi', 'nvshen', 'zlt']
	print(s13)       #['', 'hanamichi', 'nvshen:zlt']
7、join字符串的连接
	s9 = 'liubin'
	s10 = '+'.join(s9)
	print(s9 + '\t' + s10)   #liubin	l+i+u+b+i+n
	s11 = ['太白','女神','吴超']  
	s12 = ':'.join(s11)
	print(s11)     #['太白', '女神', '吴超']
	print(s12)     #太白:女神:吴超
8、count统计字符串某个元素的个数
	s9 = 'asdfeadsfgfqadgaaaaafq3eaf'
	print(s9.count('a'))  #9
9、format格式化输出
	msg = '我叫{}今年{}性别{}'.format('liubin',25,'nan')
	print(msg)
	msg = '我叫{0}今年{1}性别{2}我依然是{0}'.format('liubin',25,'nan')
	print(msg)
	msg = '我叫{name}今年{age}性别{sex}'.format(sex='男',name='liuibin',age=12)
	print(msg)
	#我叫liubin今年25性别nan
	#我叫liubin今年25性别nan我依然是liubin
	#我叫liuibin今年12性别男
10、is
	name = 'liubin123'
	print(name.isalnum())   #True字符串由数字或字母组成
	print(name.isalpha())   #False字符串只有字母
	print(name.isdecimal()) #False字符串只有十进制数字
    11、strip  去除空白
            s9 = '   \nliubin\t'
            print(s9)
            s10 = s9.strip()
            print(s10)
            # 可以指定去除字符  了解
            s11 = 'qwerliubinasdf'
            s12 = s11.strip('qrweasdf')
            print(s11)
            print(s12)

三、循环
for循环
s = '老男孩最好的讲师:太白'
for i in s:
print(i)

posted @ 2020-02-19 22:03  Mr_胖胖  阅读(140)  评论(0)    收藏  举报