python:基础数据类型

## 一. 今日内容大刚

    1. 基础数类型总览

       2. int
       3. bool
       4. **str**
       + 索引,切片
       + 常用操作方法
      5. **for 循环**



1. pycharm 简单使用

2. while 循环

   1. 结构
   2. pass

3. 格式化输出:str  :让字符串的某些位置变成动态可变的,可传入的。

   1. %     s str   d  digit i int  r
   2. %%

4. 编码的初识:

   1. 编码:密码本:二进制 与 文字的对应关系。

      + 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-801100001                                                a   使用的ASCII

        01100001 01100001                            欧洲..

        01100001 01100101 01100001'ab太白'   8个字节

      

      

      

## 三. 具体内容:

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 交集,并集差集。。。

2. int

   + 十进制二进制转换

   + ```python
     '''
     二进制转换成十进制
     0001 1010     ------> ?  26
     '''
     b = 1 * 2**4 + 1 * 2**3 + 0 * 2**2 + 1 * 2**1 + 0 * 2**0
     # print(b)  # 26
     
     '''
     42  -----> 0010 1010
     '''
     ```

   + bit_lenth 十进制转化成二进制的有效长度

     ```python
     # 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 三者之间的转换

     ```python
     # 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))
     ```

   + 应用:

     ```python
     s = input('输入内容')
     if s:
         print('有内容')
     else:
         print('没有输入任何内容')
     ```

   

4. **str**

   - 索引切片步长

     ```python
     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[start_index: end_index+1]
     # 按照切片步长: s1[start_index: end_index+1:2]
     # 反向按照切片步长: s1[start_index: end_index后延一位:2]
     # 思考题:倒序全部取出来?
     ```

   - 练习题

     ```python
     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"
     ```

   + 常用操作方法

     ```python
     # upper lower
     # s1 = s.upper()
     # # s1 = s.lower()
     # print(s1,type(s1))
     
     # 应用:
     username = input('用户名')
     password = input('密码')
     code = 'QweA'
     print(code)
     your_code = input('请输入验证码:不区分大小写')
     if your_code.upper() == code.upper():
         if username == '太白' and password == '123':
             print('登录成功')
         else:
             print('用户名密码错误')
     else:
         print('验证码错误')
     ```

     

## 四. 今日总结

1. **bool str int 三者之间的转换** ***
2. **str索引切片,常用操作方法**
3. **for循环(大量的练习题)**

+ int str bool
+ str:s1 = '太白123abc'
+ 索引:
+ s1[0]
+ s1[-1]
+ s1[:3]
+ s1[:5:2]
+ s1[-1:-4:-1]
+ s1[-1:-6:-2]
+ 常用操作方法:
+ upper lower
+ startswith endswith
+ split 分割:str---->list
+ 默认按照空格。
+ 可以指定分隔符。
+ strip:默认去除字符串两边的空格,换行符,制表符。
+ isdecimal isalpha isalnum
+ format 格式化输出
+ count某个元素出现的次数
+ join 连接
+ replace
+ len() 获取数据的元素个数。
+ for循环

 

 

posted @ 2020-06-15 08:18  水晶冰洛  阅读(138)  评论(0编辑  收藏  举报