2021-6-02python学习日志

昨日内容回顾

  • 成员运算

    	1.in2.not in 不在
    
  • 身份运算

    	1.==2.is 地址
      	"""
    	值相等内存地址不一定相等
    	内存地址相等值一定相等
    	"""
    
  • 流程控制

    	1.顺序结构
    	2.分支结构
    	3.循环结构
    	
    	"""
    	代码的缩进
    	在python通过缩进来表示代码的从属关系,
    	缩进一般采用四个空格,
    	并不是所有的代码都可以拥有子代码,
    	同属一个关键字的多行子代码一定要保持相同的缩进量。
    	ps:遇到冒号 下一行代码必缩进
    	"""
    	()if判断
    	  	"""
    	  	if 条件1:
    	  		代码1
    	  		代码2
    	  		...
    	  	elif 条件2:
    	  		代码1
    	  		代码2
    	  		...
    	  	else:
    	  		代码1
    	  		代码2
    	  		...
    	  	"""
    	  	
    		1.组合使用之后走一个关键字的子代码
    		2.条件可以是逻辑运算符连接的多个条件
    		ps:if嵌套
    		
    	()while循环
    	  	"""
    	  	while 条件:
    	  		代码1
    	  		代码2
    	  		...
    	  	"""
    	  	
    		ps:while嵌套
    		while+break 		结束本层循环
    		while+continue    	结束本次循环
    		while+elsewhile没有被主动打断的情况下正常运行结束,则会走else
    
    	()for循环
    	  	"""
    	  	for 变量名 in 可迭代对象:  字符串 列表 字典 元组...
    	  		代码1
    	  		代码2
    	  		...
    	  	"""
    	  	#range()
    		range(10)	  	只写一个数字则从0开始
    		range(1,10)	    写两个则顾头不顾尾
    		range(1,10,2)   第三个参数表示间隔几位
    		例子、获取指定网页地址。
    		https://movie.douban.com/top250?start=0&filter=
    		https://movie.douban.com/top250?start=25&filter=
    		https://movie.douban.com/top250?start=50&filter=
    		https://movie.douban.com/top250?start=75&filter=
    		for i in range(0,255,25):
    		print('https://movie.douban.com/top250?start=%s&filter='%i)
    		# 注意python2与python3的区别
    		range()xrange()
    		
    		ps:for嵌套
    		for+break  		结束本层循环
    		for+continue 	结束本次循环
    		for+elsefor没有被主动打断的情况下正常运行结束,则会走else
    		
    

今日内容概要

  • 数据类型的内置方法
    	1.整形与浮点型
    	2.字符串
    	3.列表	
    
  • 可变式类型与不可变类型

今日内容详情

  • 整型与浮点型
    	()整型
    		1、用途
    			年龄 生日 整数类型
    		2、定义方式
    			age = 18  # age = int(18)
    		3、类型转换
    			int()  将括号内的数据转成整型,待转换的数据内部只能是纯数字
    			# print(int(123))			# 123
    			# print(int('123'))			# 123
    			# print(int('[1,2,3,4]'))	# 报错
    			# print(int('hello world'))	# 报错
    			# print(int('11.11'))  		# 报错
    		4、进制转换
    			print(bin(100))  # 将十进制的100转换成二进制对应的数    0b1100100
    			print(oct(100))  # 将十进制的100转换成八进制对应的数    0o144
    			print(hex(100))  # 将十进制的100转换成十六进制对应的数  0x64
    			"""
    			0b开头表示二进制数
    			0o开头表示八进制数
    			0x开头表示十六进制数
    			"""
    			可以通过int()将进制转换回来。
    			print(int('0b1100100',2))   # 100
    			print(int('0o144',8))  		# 100
    			print(int('0x64',16))  		# 100
    	()浮点型
    		1.用途
    			身高、体重、薪水等。
    		2.定义
    			height = 183.1  # height = float(183.1)
    		3.类型转换
    			print(float(183.1))				#183.1
    			print(float('183.1'))			#183.1
    			print(float(183))  				# 183.0
    			print(int(11.11))  				# 11
    
    
  • 字符串类型
    	1.用途
    		名字,性别,国籍,地址等描述信息
    	2.定义
    		name = 'hello world!'
    	3.优先掌握的操作
    		1、按索引取值(正向取+反向取) :只能取
    			'''索引是从0开始的'''
    			print(name[0])
    			print(name[-1])  # -1表示最后一个元素
    			ps:正数表示从左往右,负数从右往左
    		2、切片(顾头不顾尾,步长)
    			'''截取某一段内容'''
    			print(name[1:4])  	   # 1 2 3   # 顾头不顾尾
    			print(name[-1:-5:-1])  # !dlr	 # 默认的切片方向都是从左往右,-1修改成从右往左
    			print(name[1:4:2])     # el		 # 第三个参数表示步长  
    		3、长度len
    			'''统计字符串里面的字符个数'''
    			print(len(name))  	   # 12   	 # 空格也算字符
    		4、成员运算innot in
    			print('hello' in name)     # True
    			print('wkj' not in name) # False	
    		5、移除指定的首尾字符strip
    			username = input('username>>>:')  # '  wkj  '
    			将首尾空格移除
    			username = username.strip()
    			两步合并成一步:
    			username = input('username>>>:').strip()
    			
    			if username == 'wkj':
    			    print('登录成功')
    			else:
    			    print('登录失败')
    			username1 = '$$w$k$j$'
    			username2 = '  wkj  '
    			print(username1.strip('$'))  # 移除指定首、尾的所有字符
    			print(username2.strip())  	 # 默认移除首、尾的所有空格
    			n1 = '$$wkj$$'
    			# 移除首指定的字符
    			print(n1.lstrip('$'))  		# wkj$$
    			# 移除尾指定的字符
    			print(n1.rstrip('$'))  		# $$wkj
    		6、切分split
    			'''按照指定字符切割字符串'''
    			res = 'wkj|123|read'
    			print(res.split('|'))  		# ['wkj', '123', 'read']
    			1.指定切割的字符不保留
    			2.切割之后的结构是一个列表(重要)
    			res.split('|', maxsplit=1)  # ['wkj', '123|read']  从左往右切割指定的次数
    			print(res)
    			print(res.rsplit('|',maxsplit=1))  # ['jason|123', 'read']  从右往左切割指定的次数
    		7、循环
    			for i in name:
    			    print(i)  # 依次获取字符串中单个单个的字符	
    		8.upper和lower
    			res = 'My NAmE Is Wkj666'
    			将所有的英文字母转成大写
    			print(res.upper())  # MY NAME IS WKJ666
    			将所有的英文字母转成小写
    			print(res.lower())  # my name is wkj666
    			"""图片验证码校验 忽略大小写"""
    			code = 'NaRTs6'
    			my_code = input('code>>>:')
    			if code.upper() == my_code.upper():
    			    print('验证码正确')
    			print(res.isupper())  # False  字符串内部所有的英文字母是否是全大写
    			print(res.islower())  # False  字符串内部所有的英文字母是否是全小写
    		9.startswith和endswith
    			res = 'wkjasdasdasdkkk'
    			判断字符串是否以wkj开头
    			print(res.startswith('wkj'))  # True
    			判断字符串是否以tony结尾
    			print(res.endswith('kkk'))  # True
    		
    		10.字符串格式化输出format
    			平常我们使用%s和%d。
    			format的用法:				
    			第一种  与%s一致        按照个数位置 一一传值
    			res = 'my name is {} my age is {}'
    			print(res.format('wkj',18))
    			第二种  按照索引取值     可以反复使用
    			res = 'my name is {0} my age is {1} {0} {0} {0}'
    			print(res.format('wkj',18))
    			第三种  指名道姓取值     可以反复使用
    			res = 'my name is {name} my age is {age} {name} {name} {name}'
    			print(res.format(name='wkj',age=18))
    		11.统计count
    			res = 'wkj a a a a  sdf se sdf we ras dsa dw e asdsa dwqd sadsa dsadas'
    			统计字符串中 指定字符出现的个数
    			print(res.count('a'))  # 13
    			print(res.count('a', 1, 10))  # 3  指定范围统计
    		
    		12.title和capitalize
    			res = 'my name is jason HAJHSSAJJ SAJS  '
    			print(res.title())  	 # 将所有英文单词首字母大写
    			print(res.capitalize())  # 首字母大写,后面统一变小写
    		
    		13.isalpha
    			res = 'sdewqe圣诞节卡萨'
    			print(res.isalpha())  # 判断非数字,特殊符号
    		14.isdigit
    			guess_age = input('请输入您的年龄>>>:')
    			# 判断用户输入的是否是纯数字
    			if guess_age.isdigit():
    			    # 将字符串的数字转为整型的数字
    			    guess_age = int(guess_age)
    			else:
    			    print('请输入纯数字')
    		15.replace
    			#替换
    			res = 'my name is egon egon egon'
    			将字符串中所有的egon替换成SB
    			print(res.replace('egon','SB'))  	# 全局替换
    			print(res.replace('egon','SB',1))   # 局部替换
    		16.join
    			将列表多个元素拼接成字符串
    			res = ['wkj','egon','kevin','tony']
    			res1 = ['wkj','egon','kevin','tony',123]
    			print('|'.join(res))    # jason|egon|kevin|tony
    			print('|'.join(res1))   # 只能是字符串类型拼接
    
  • 列表内置方法
    	列表:中括号括起来,内存可以存放多个元素,元素与元素之间逗号隔开,元素可以是任意数据类型。
    	name_list = ['jason', 'egon', 'wkj']  # name_list = list(['jason', 'egon', 'wkj'])
    	print(type(list(18)))  				      # 不能
    	print(type(list(11.11)))    			  # 不能
    	print(type(list('hello')),list('hello'))  # 可以    ['h', 'e', 'l', 'l', 'o']
    	print(type(list([1,2,3,4])))
    	print(type(list({'name':'jason'})),list({'name':'jason'}))  # 可以  ['name']
    	print(type(list(True)))  				  # 不能
    	'''能够支持for循环的数据 都能够被list转换成列表'''
    	
    	列表方法:
    		name_list = ['jason', 'egon', 'wkj']  # name_list = list(['jason', 'egon', 'wkj'])
    		1.索引取值
    			print(name_list[0])
    			print(name_list[-1])
    		2.切片操作
    			print(name_list[0:2])
    			print(name_list[0:2:2])
    			print(name_list[-1:-3:-1])
    		3.统计列表中元素的个数
    			print(len(name_list))  # 3
    		
    		4.修改元素
    			name_list[1] = 'egon快回来!'
    			print(name_list)
    		5.末尾追加单个元素
    			name_list.append('kevin')
    			print(name_list)  # ['jason', 'egon', 'wkj', 'kevin']
    			name_list.append([11,22,33,44])  # ['jason', 'egon', 'wkj', [11, 22, 33, 44]]
    			print(name_list)
    		6.插入元素
    			name_list.insert(0,'jack')
    			print(name_list)  # ['jack', 'jason', 'egon', 'wkj']
    		7.扩展列表
    			l1 = [11,22,33,44,55,66,77]
    			for i in l1:
    			     name_list.append(i)
    			print(name_list)
    			name_list.extend(l1)  # extend等价于for+append
    			print(name_list)  # ['jason', 'egon', 'wkj', 11, 22, 33, 44, 55, 66, 77]
    		8.通用的删除操作
    			1.del
    				del name_list[1]
    				print(name_list)  # ['jason', 'wkj']
    			2.remove()
    				res1 = name_list.remove('tony')  # 指名道姓的删除
    				print(name_list)  # ['jason', 'egon']
    				print(res1)  # None
    			3.pop()
    				res = name_list.pop()  # 默认尾部弹出元素
    				print(name_list)  # ['jason', 'egon']
    				print(res)
    		
    				res = name_list.pop(1)  # 默认指定索引位置的元素
    				print(name_list)  # ['jason', 'tony']
    				print(res)  # egon
    		
    		9.统计某元素出现的次数
    			l1 = [11,22,33,3,3,3,2,3,23,4,34,3,4,3,4]
    			print(l1.count(3))  # 6  统计列表中某个元素出现的次数
    		10.清空列表
    			name_list.clear()  # 清空列表
    			print(name_list)  # []
    		
    		11.升序和降序
    			l2 = [11,88,22,44,33,77,66,55]
    			l2.sort()  # 排序  默认是升序
    			print(l2)  # [11, 22, 33, 44, 55, 66, 77, 88]
    			l2.sort(reverse=True)  # reverse=True 降序
    			print(l2)  # [88, 77, 66, 55, 44, 33, 22, 11]
    
    			l2.reverse()  # 倒序
    			print(l2)
    
  • 可变类型和不可变类型
    	"""
    	可变类型:列表,字典
    	    值改变,内存地址不变。
    	不可变类型:数字,字符串,元组
    	    值改变,内存地址一定变。
    	"""
    	1.不可变类型
    		a = 1
    		print(id(a))  # 140736875403024
    		a = 2
    		print(id(a))  # 140736875403024
    	2.可变类型
    		l1 = [11,22]
    		print(id(l1))  # 2133952624128
    		l1.append(666)
    		print(id(l1))  # 2133952624128
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值