一. 今日内容大刚
- 基础数类型总览
- int
- bool
- str
- 索引,切片
- 常用操作方法 5.for 循环
二. 昨日内容以及作业讲解
- pycharm 简单使用
- while 循环
- 结构
- pass
- 格式化输出:str :让字符串的某些位置变成动态可变的,可传入的。
- % s str d digit i int r
- %%
- 编码的初识:
- 编码:密码本:二进制 与 文字的对应关系。
- ASCII:最早的密码本:二进制与 英文字母,数字,特殊字符的对应关系 01100001 a 01100010 b 'abc' : 01100001 01100010 01100011 : 3个字节
- GBK 国标: 英文.... 1个字节 中文 2个字节
- 英文字母,数字,特殊字符 ASCII
- 中文自己编写的。 'ab太白' :6个字节
- Unicode: 万国码。(兼容性高,他与任何的密码本都有映射关系) 01100001 01100001 01100001 01100001 a 01100001 01100001 01100101 01100001 中
- UTF-8: 01100001 a 使用的ASCII 01100001 01100001 欧洲.. 2字节 01100001 01100101 01100001 中 3 字节 'ab太白' 8个字节
三.具体内容:
1.基础数据类型总览
- 编码:密码本:二进制 与 文字的对应关系。
- int 例:100,20,3 可进行 + - * / 等等
- str 例:'今天吃饭了吗' 存储少量的数据,+ ,*int 切片,其他操作方法
- boor 布尔类型 判断真假 True False
- list 例: [12, True, 'alex', [1,2,3 ]] 存储大量的数据
- tuple 例:(1,2,3,[1,2,3],'alex') 存储大量的数据,不可改变里面的元素
- dict 例: {'name':'九日天'} 存储大量的关联型的数据,查询速度非常快
- set 交集,并集,差集 2.int
- 十进制 二进制 转换 ''' 二进制转换成十进制 0001 1010 ------> ? 26 ''' b = 1 * 24 + 1 * 23 + 0 * 22 + 1 * 21 + 0 * 2**0 print(b) # 26
- bit_lenth 十进制转化成二进制的有效长度 i = 4 print(i,bit_length()) # 3 i = 5 print(i,bit_length()) # 3 i = 42 print(i,bit_length()) # 4 3.bool
bool str int 三者之间的转换
# bool str int # bool <----> int ''' True 1 False 0 非零即True 0 是 False ''' # str <------> int ***** ''' s1 = '10' int(s1) : 必须是数字组成 i = 100 str(i) ''' # str bool *** # 非空即True s1 = ' ' print(bool(s1)) # Trues1 = '' # 空字符串
print(bool(s1)) # Fales # bool -----> str 无意义 print (str(True)) ####应用 s = input('请输入内容') if s: print('有内容') else: print('没有输入任何内容')
- str
索引切片步长
s1 = 'python全栈22期' # 对字符串进行索引,切片出来的数据都是字符串类型 # 按照索引取值 # 从左至右有顺序,下标,索引s2 = s1[0]
print(s2,type(s2))s3 = s1[2]
print(s3)s4 = s1[-1]
print(s4)# 按照切片取值
# 顾头不顾尾s5 = s1[0:6]
# s5 = s1[:6] print(s5)s6 = s1[6:]
print(s6)# 切片步长
s7 = s1[:5:2]
print(s7) print(s1[:])# 倒序
s8 = s1[-1:-6:-1] print(s8)# 按索引:s1[index]
# 按照切片:s1[star_index:end_index + 1] # 按照切片步长:s1[star_index:end_index + 1:2] # 反向按照切片步长:s1[star_index:end_index 后延一位:2] # 思考题:倒序全部取出来s9 = s1[::-1]
print(s9)练习题
2.有字符串s = "123a4b5c"通过对s切片形成新的字符串s1,s1 = "123"
通过对s切片形成新的字符串s2,s2 = "a4b" 通过对s切片形成新的字符串s3,s3 = "1345" 通过对s切片形成字符串s4,s4 = "2ab" 通过对s切片形成字符串s5,s5 = "c" 通过对s切片形成字符串s6,s6 = "ba2"s = '123a4b5c'
s1 = s[:3] print(s1)s2 = s[3:6]
print(s2)s3 = s[:7:2]
print(s3) s4 = s[1:6:2] print(s4) s5 = s[-1] print(s5) s6 = s[-3::-2] print(s6)常用操作方法
s = 'taiBAifdsa' # 字符串常用操作方法 # 不会对原字符串进行任何操作,都产生一个新的字符串 # upper 大写 # lower 小写s1 = s.upper()print(s1)s2 = s.lower()print(s2)# 应用# username = input('user>')# password = input('passwd>')# code = 'QweR'# print(code)## your_code = input('请输入code(不区分大小写)>')# if your_code.upper() == code.upper():# if username == 'rjt' and password == '123':# print('登录成功')# else:# print('用户名/密码错误')# else:# print('验证码错误')## startswith 以....开头 endswith 结尾print(s.startswith('t')) # ***print(s.startswith('taiBAi')) # ***# 了解print(s.startswith('B',3,6)) # index [3:6]# replacemsg = 'alex 很nb,alex是老男孩教育的创始人之一,alex长得很帅'msg1 = msg.replace('alex','太白') # 默认全部替换msg2 = msg.replace('alex','太白',2) # 从左至右 依次替换 替换两次print(msg1)print(msg2)# strip 空白---> 空格,\t,\nstr01 = ' \n太白\t'print(str01)str02 = str01.strip() # 去掉空白print(str02)# 了解# 可以去除指定的字符str03 = 'rre太r白qsd'str05 = str03.strip('qrsed')print(str05)# split 非常重要# 默认按照空格分隔,返回一个列表# 指定分隔符# str ----> lista = '太白 女神 吴超'l = a.split(' ')print(l,type(l))b = '太白:女神:吴超'l = b.split(':')print(l,type(l))# 了解:c = ':barry:nvshen:wu'print(c.split(':')) # ['', 'barry', 'nvshen', 'wu']print(c.split(':',2))# join 非常好用f = 'alex'f1 = '+'.join(f)print(f1,type(f1))#l1 = ['太白', '女神', '吴超']# # 前提: 列表里面的元素必须都是str类型s3 = ':'.join(l1)print(s3,type(s3))# count 计数str10 = 'sdfsdagsfdagfdhgfhgfhfghfdagsaa'print(str10.count('a'))# format : 格式化输出# 用法一msg3 = '我叫{},今年{},性别{}'.format('日九天',25,'男')print(msg3)# 用法二msg4 = '我叫{0},今年{1},性别{2},我依然叫{0}'.format('日九天',25,'男')print(msg4)# 用法三mgs5 = '我叫{name},今年{age},性别{sex}'.format(age = 26,sex = '男',name = '日九天')print(mgs5)# is 系列name = 'taibai123'name1 = '100①'print(name.isalnum()) # 字符串由字母或数字组成print(name.isalpha()) # 字符串只是由字母组成print(name1.isdecimal()) # 字符串只有十进制组成e1 = input('请输入金额:')if e1.isdecimal(): print(int(e1))else: print('输入有误')
# s1 = '老男孩edu'# print('老' in s1)# print('老男' in s1)# print('老ed' in s1)# print('老ed' not in s1)
s1 = '老男孩教育最好的讲师:太白'
''' 老 s1[0] 男 s1[1] 孩 s1[2] 教 s1[3] 育 .... 最 ... '''# len : 获取可迭代对象的元素总个数print(len(s1))s1 = '老男孩教育最好的讲师:太白'index = 0 while index < len(s1): print(s1[index]) index += 1
for 循环
''' 有限循环 for 变量 in iterable: pass ''' s1 = '老男孩教育最好的讲师:太白' for i in s1: print(i)s1 = '老男孩教育最好的讲师:太白'for i in s1: print(i) if i == '好': break
break continue
for else: while else:用法一样。