zoukankan      html  css  js  c++  java
  • Python基本数据类型

    一.python基本数据类型
      1. int ==> 整数. 主要用来进行数学运算
      2. str ==> 字符串, 可以保存少量数据并进行相应的操作
      3. bool==>判断真假, True, False
      4. list==> 存储大量数据.用[ ]表示
      5. tuple=> 元组, 不可以发生改变 用( )表示
      6. dict==> 字典, 保存键值对, 一样可以保存大量数据
      7. set==> 集合, 保存大量数据. 不可以重复. 其实就是不保存value的dict

    二. 整数(int)
    在python3中所有的整数都是int类型. 但在python2中如果数据量比较大. 会使用long类型. 在python3中不存在long类型
    整数可以进行的操作:
    bit_length(). 计算整数在内存中占用的二进制码的长度(求得是有效长度)

    十进制 二进制 长度bit_length()
    1 1 1
    2 10 2
    3 11 2
    4 100 3
    5 101 3
    6 110 3
    7 111 3
    8 1000


    三. 布尔值(bool)
      取值只有True, False. bool值没有操作.
     转换问题:
      str => int int(str)
      int => str str(int)
      int => bool bool(int). 0是False 非0是True
      bool=>int int(bool) True是1, False是0
      str => bool bool(str) 空字符串是False, 不空是True
      bool => str str(bool) 把bool值转换成相应的"值


    四. 字符串(str)
    把字符连成串. 在python中用', ", ''', """引起来的内容被称为字符串.

    4.1 切片和索引
    1. 索引. 索引就是下标. 切记, 下标从0开始

    # 0123456 7 8
    s1 = "python最牛B"
    print(s1[0]) # 获取第0个
    print(s1[1])
    print(s1[2])
    print(s1[3])
    print(s1[4])
    print(s1[5])
    print(s1[6])
    print(s1[7])
    print(s1[8])
    # print(s1[9]) # 没有9, 越界了. 会报错
    print(s1[-1]) # -1 表示倒数.
    print(s1[-2]) # 倒数第二个
    View Code

     2. 切片, 我们可以使用下标来截取部分字符串的内容
      语法: str[start: end]
      规则: 顾头不顾腚, 从start开始截取. 截取到end位置. 但不包括end

     1 s2 = "python最牛B"
     2 print(s2[0:3]) # 从0获取到3. 不包含3. 结果: pyt
     3 print(s2[6:8]) # 结果 最牛
     4 print(s2[6:9]) # 最大是8. 但根据顾头不顾腚, 想要取到8必须给9
     5 print(s2[6:10]) # 如果右边已经过了最大值. 相当于获取到最后
     6 print(s2[4:]) # 如果想获取到最后. 那么最后一个值可以不给.
     7 print(s2[-1:-5]) # 从-1 获取到 -5 这样是获取不到任何结果的. 从-1向右数. 你怎么数也数不到-5
     8 print(s2[-5:-1]) # 牛b, 取到数据了. 但是. 顾头不顾腚. 怎么取最后一个呢?
     9 print(s2[-5:]) # 什么都不写就是最后了
    10 print(s2[:-1]) # 这个是取到倒数第一个
    11 print(s2[:]) # 原样输出
    View Code

      跳着截取

    1 # 跳着取, 步长
    2 print(s2[1:5:2]) # 从第一个开始取, 取到第5个,每2个取1个, 结果: yh, 分析: 1:5=> ytho => yh
    3 print(s2[:5:2]) # 从头开始到第五个. 每两个取一个
    4 print(s2[4::2]) # 从4开始取到最后. 每两个取一个
    5 print(s2[-5::2]) # 从-5取到最后.每两个取一个
    6 print(s2[-1:-5]) # -1:-5什么都没有. 因为是从左往右获取的.
    7 print(s2[-1:-5:-1]) # 步长是-1. 这时就从右往左取值了
    8 print(s2[-5::-3]) # 从倒数第5个开始. 到最开始. 每3个取一个, 结果oy
    View Code

      步长: 如果是整数, 则从左往右取. 如果是负数. 则从右往左取. 默认是1
      切片语法:
      str[start:end:step]
      start: 起始位置
      end: 结束位置
     

      step:步长

     

     

  • 相关阅读:
    Ackerman 函数奇怪的函数
    HDU2871 Memory Control 线段树区间合并
    HDU3667 Hotel 线段树 经典空间合并
    图论
    HDU3016 Man Down 线段树
    HDU1878 欧拉回路 判定是否存在欧拉回路
    从今开始
    如何打开注册表编辑器
    ASP.NET中TextBox控件设置ReadOnly="true"后台取不到值
    学习笔记(2011年5月到9月)
  • 原文地址:https://www.cnblogs.com/liuye1990/p/9125706.html
Copyright © 2011-2022 走看看