Python全栈学习Day3
day03 课程大纲
1. 今日内容大纲
1. 基础数类型总览
2. int
3. bool
4. **str**
+ 索引,切片
+ 常用操作方法
5. **for 循环**
2. 昨日内容以及作业讲解
- 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:
- ASCII:最早的密码本:二进制与 英文字母,数字,特殊字符的对应关系
- 编码:密码本:二进制 与 文字的对应关系。
3. 具体内容
3.1. 基础数类型总览
- 10203 123 3340 int ± * / 等等
- ‘今天吃了没?’ str 存储少量的数据,+ *int 切片, 其他操作方法
- True False bool 判断真假
- [12, True, ‘alex’, [1,2,3 ]] list 列表:存储大量的数据。
- (12, True, ‘alex’, [1,2,3 ]) tuple 元组:存储大量的数据,不可改变里面的元素。
- {‘name’: ‘太白金星’} dict 字典:存储大量的关联型的数据,查询速度非常快。
- set 交集,并集差集。。。
3.2. int
- 十进制二进制转换
-
''' 二进制转换成十进制 0001 1010 ------> ? 26 ''' b = 1 * 2**4 + 1 * 2**3 + 0 * 2**2 + 1 * 2**1 + 0 * 2**0 print(int (a,2)) # print(b) # 26 ''' 42 -----> 0010 1010 '''
- bit_lenth 十进制转化成二进制的有效长度
#bin(10)=00101010 # bit_lenth 有效的二进制的长度 i = 4 print(i.bit_length()) # 3 i = 5 print(i.bit_length()) # 3 i = 42 print(i.bit_length()) # 6
3.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)) s1 = '' # 空字符串 print(bool(s1)) # bool ---> str 无意义 print(str(True))
- 应用:
s = input('输入内容') if s: print('有内容') else: print('没有输入任何内容')
3.4. str
-
索引切片步长
s1 = 'python全栈课堂学习' # 对字符串进行索引,切片出来的数据都是字符串类型。 # 按照索引取值 # 从左至右有顺序,下标,索引。 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[start_index: end_index+1] # 按照切片步长: s1[start_index: end_index+1:2] # 反向按照切片步长: s1[start_index: end_index后延一位:2] # 思考题:倒序全部取出来?print(s1[::-1])
-
练习
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"
-
常用操作方法
# upper lower # s1 = s.upper() 大写 # # s1 = s.lower() 小写 # print(s1,type(s1)) # print(s.stratswith('B',2,6))从第2-6位是不是以B开头? # replace替换 # s2=s1.replace('aaa','bbb',2) 默认把aaa换成bbb 2个左到右 # strip:空白;空格 \t 换行 \n table # s4=s3.strip() 去除s3中所有空格 # 可以去除指定的字符 # s4='rre世博qsd' # s5=s4.strip('reqsd') # split**默认按空格分割,返回一个列表 # l=s6.split() # l1=s6.split(':',2)按照冒号分割前两个 # join # s1='alex' # s2='+'.join(s1) # print(s2) a+l+e+x # l1=['一一','二二','三三'] # s3=':'.join(l1)列表里都是字符串才可以 # format:格式化输出 # msg=‘我叫{}今年{}性别{}’.format('seipo',18,'male') # msg=‘我叫{0}今年{1}我依然叫{1}’.format('seipo',18,'male') # msg=‘我叫{name}今年{age}性别{sex}’.format(name='seipo',age=18,sex='male') # is系列: # name=‘shsj8728’ # print(name.isalnum())#字符串由字母或数字组成 # print(name.isalpha())#字符串由字母组成 # print(name.isdecimal())#字符串只由十进制组成:纯数字时用 #in是否在字符串里 # 应用: username = input('用户名') password = input('密码') code = 'QweA' print(code) your_code = input('请输入验证码:不区分大小写') if your_code.upper() == code.upper(): if username == 'seipo' and password == '123': print('登录成功') else: print('用户名密码错误') else: print('验证码错误')
3.5. for循环
+ ```c
for 变量 in iterable:
pass
```
+ break与while用法基本一致
4. 今日总结
- bool str int 三者之间的转换
- str索引切片,常用操作方法
- for循环(大量的练习题)
5. 预习内容
1. 列表
+ 初识
+ 增删改查
+ 嵌套
2. 元组tuple 5分钟
3. range
Day3 END
转载:https://blog.csdn.net/weixin_44730994/article/details/104959336
查看评论