昨日内容回顾
-
成员运算
1.in 在 2.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+else 在while没有被主动打断的情况下正常运行结束,则会走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+else 在for没有被主动打断的情况下正常运行结束,则会走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、成员运算in和not 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