zoukankan      html  css  js  c++  java
  • python 数据类型一 (重点是字符串的各种操作)

    一、python基本数据类型

      1,int,整数,主要用来进行数学运算

      2,bool,布尔类型,判断真假,True,False

      3,str,字符串,可以保存少量数据并进行相应的操作(未来使用频率最高的一种类型)

      4,list,列表,用来存储大量数据,用[]表示(里面可以存放各种数据类型)

      5,tuple,元组,不可以发生改变,用()表示

      6,dict,字典,保存键值对,{key : value}也可以保存大量数据

      7,set,集合,保存大量数据,不可以重复,其实就是不保存value的dict

          

    二、整数(int)

           在python3中所有的整数都是int类型,但在python2中如果数据量比较大,会使用long类型,在python3中不存在long类型。

           整数可以进行的操作:bit_length() 计算整数在内存中占用的二进制码的长度(很少用) 

           十进制5转化成二进制是101,长度是3,程序如下:

    三、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值转换成相应的“值”,即字符串True或者False

           结论:所有的空都是False,所有的非空都是True;例如:0,None,空字符串,空列表,空字典,空集合,空元组。

                    要想把某数据转换成xxx数据类型,则xxx(数据)即可;

           补充:比较下面两个死循环

                  while 1:

                         print(“hello world!”)

                  和

                  while True:

                         print(“hello world!”)

    我们可以发现两者的区别是循环条件分别是1和True,我们通常用第一种。因为前者代码较后者更少,且计算机最底层认的是01,True需要转化成01,而1到了计算机底层也是1,所以前者比后者运行快那么一点点。

    四、字符串(str)

           把字符连成串,在python中用’,”,’’’,”””引起来的内容被称为字符串。

           切记:字符串是不可变的对象,所以任何操作对原字符串是不会有任何影响的,每次操作都返回新字符串。

    4.1 索引和切片

           索引:索引就是下标,下标从0开始,使用[下标]可以获取到每一个字符,如下列代码示例:

           

    切片:我们可以使用下标来截取部分字符串的内容。

           语法:str[start : end]

        规则:顾头不顾尾,从start开始,截取到end位置,但不包括end,如下列代码示例:

                 

           通过上边知道切片默认是从左向右截取,我们可以给出第三个参数来控制方向,第三个参数叫步长,步长为负数时,则从右往左取值。

      语法:str[start : end : step]

           start : 起始位置

           end : 结束位置

           step : 步长(步长如果是整数,则从左往右取,如果是负数,则从右往左取,默认是1)

    如下列代码示例:

           


    4.2 字符串的相关操作方法
          

           s1.capitalize()  # 首字母大写,其他字母都变成小写

           s1.lower()  # 全部转换成小写

           s1.upper()  # 全部转换成大写,记住!!!

           s1.swapcase()  # 大小写互相转换

           s1.casefold()  # 转换成小写,和lower相比,casefold()对所有字母都有效,比如东欧的一些字母

           s1.title()  # 每个被非字母字符隔开的单词首字母大写

           s1.center()  # 居中,

        示例:s5 = “周杰伦”

                   ret = s5.center(10 , “*”)

           s1.expandtabs()  # 改变 的长度,更改为8

           s1.strip()  # 去掉字符串左右两端空格(还有换行符 ,缩进 ),也可以加参数去掉指定的元素,记住!!!

           s1.lstrip()  # 去掉字符串左边空格

           s1.rstrip()  # 去掉字符串右边空格

           s1.replace(“原字符”,“新字符”)  # 将原字符替换成新字符,也可以再加一个参数指定替换几个,记住!!!

           s1.split()  # 字符串按照指定字符切割(注意:如果切割符在左右两端,则切完一定出现空字符串),还可以跟第二个参数,表示根据第几个指定字符分割,记住!!!

      注意:split默认是按照空白切割!具体示例如下:

        a = "al    ex  ha  nishi shui"
        lst = a.split()
        print(lst)
        # 结果为:['al', 'ex', 'ha', 'nishi', 'shui']


    4.3 格式化输出
           

    4.4 查找

           s13.startswith()  # 是否以指定字符开头,记住!!!

           s13.endswith()  # 是否以指定字符结尾,记住!!!

           s13.count()  # 查找指定字符在字符串中出现的次数

           s13.find()  # 查找指定字符的索引,若没有所查找字符,则返回-1

           s13.index()  # 求指定字符索引,注意:若找不到,程序会报错

    4.5 条件判断

           s14.isalnum()  # 是否由字母和数字组成

           s14.isalpha()  # 是否由字母组成(包括汉字)

           s14.isdigit()  # 是否由数字组成,不包括小数点

           s14.isdecimal()  # 这个比较牛,中文数字也能识别

       s14.islower()  # 是否是小写字母

       s14.isupper()  # 是否是大写字母 

    4.6 计算字符串长度,用法如下示例:

           

    4.7 迭代

           我们可以使用for循环来遍历(获取)字符串中的每一个字符。

           语法:

        for 变量 in 可迭代对象 :

                         pass(也存在break和continue)  

        else:

                         当循环结束的时候会执行

           可迭代对象:可以一个一个往外取值的对象。

  • 相关阅读:
    EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器解决方案之多方式虚拟直播
    EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器解决方案之点播分享
    EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器与EasyDSS流媒体解决方案的不同
    EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器软件实现的多码率视频点播功能说明
    EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器解决方案之Windows服务安装
    EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器解决方案之Nodejs调用bat或sh脚本
    EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器解决方案之Grunt的使用简介
    EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器启用https服务申请免费证书
    EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器软件二次开发接口对接说明示列
    EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器和EasyDSS云平台异同
  • 原文地址:https://www.cnblogs.com/xihuanniya/p/9378121.html
Copyright © 2011-2022 走看看