zoukankan      html  css  js  c++  java
  • 基本数据类型扩展,及字符串的操做(切片,记忆希望字符串的基本操作)

    ⼀.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(). 计算整数在内存中占⽤的⼆进制码的⻓度

    s1 = 15
    print(s1.bit_length())

    布尔值(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中⽤', ", ''', """引起来的内容被称为字符串

    1.1 字符串操作(切片,索引)

    索引. 索引就是下标. 切记, 下标从0开始

    s2 = "python is good code"
    print(s2[2])
    print(s2[-1]) #代表倒数第一个

      

    1.2 切片,可以使用下标来截取部分字符串的内容

    语法:str[start:end]

    规则: 顾头不顾尾,从start开始截取,截取到end位置,但不包括end。

    s3 = "python is good code"
    print(s3[0:3])   #截取一段
    print(s3[0:])     #从头到尾
    print(s3[:])       #原样输出
    print(s3[-1:-5])  # 从-1 获取到 -5 这样是获取不到任何结果的从-1向右数. 你怎么数也数不到-5
    print(s3[-5:-1])  #取到数据了

    print(s3[:-1]) #取到倒数第二个

      

    跳着截取(步长)

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

      

    步⻓: 如果是整数, 则从左往右取. 如果是负数. 则从右往左取. 默认是1

    切片语法:

    str[start:end:step]

    start: 起始位置

    end: 结束位置

    step:步⻓

    1.3 字符串的相关操作

    切记, 字符串是不可变的对象, 所以任何操作对原字符串是不会有任何影响的

    s1 = "pYtUon"
    print(s1.capitalize())  #首字母大写
    print(s1.lower())       #全部字母小写
    print(s1.upper())      #全部字母大写
    print(s1.swapcase()) #大小写转换
    print(s1.casefold())   #和lower得功能是一样得,不过casefold 对所有字母都有效,譬如一些东欧的字母
    s2= "*python_is_good_code "
    print(s2.title()) # 特殊字符后等候字母大写


    切来切去
    s5 = "周杰伦"
    print(s5.center(11,"*")) #拉长成11个占位,吧周杰伦放居中,其余用*补全 居中

    s3 = " _alxe_is haha "
    print(s3.strip()) #去空格两边得 l 是左 r 是右

    # 字符串替换

    s8 = "sylar_alex_taibai_wusir_eggon"

    ret = s8.replace('alex', '⾦⻆⼤王') # 把alex替换成⾦⻆⼤王

    ret = s8.replace('i', 'SB', 2) # 把i替换成SB, 替换2个















      

  • 相关阅读:
    性能分析工具 — bootchart 工具使用(android 8.1)【转】
    Linux Namespace : 简介【转】
    bootargs常用属性项【转】
    Openwrt学习笔记(四)——系统开机启动【转】
    容器核心技术--Cgroup 与 Namespace【转】
    Linux C/C++适配malloc申请按页对齐的内存,方便使用mprotect【转】
    Java8 Map computeIfAbsent方法说明
    【JVM】调优笔记4---JAVA Thread Dump 分析综述[转]
    【mysql安装】3.win10 mysql5.7安装(zip免安装版本)
    【谷歌】【chrome】二.谷歌插件推荐安装
  • 原文地址:https://www.cnblogs.com/GYC-GXm/p/12200692.html
Copyright © 2011-2022 走看看