day三基础数据类型

*—*—基础数据类型 总览—*—*
一、python基本数据类型
 ①.int ==> 整数.

 ②.str ==> 字符串,可以保存少量的数据.

 ③.bool ==> 布尔值,判断真假,用True,False表示.
 一个布尔值只有 True、False 两种值,要么是 True ,要么是 False ,即为真或假,1或0,在Python中,可以直接用 True、False 表示布尔值(请注意大小写),可以用来做条件判断。

 ④.list ==> 列表,可以存储大量数据,用[]表示.
 列表(List)可以包含不同类型的数据对象,列表中的元素是有序的,并且列表中的每一个元素都是可变的。

 ⑤.tuple ==> 元组,只读列表,不发生改变,用()表示.
 元组(tuple)和列表(list)唯一的区别就是列表是可以修改的,元组一旦创建,便不能进行修改,其他方法与列表一样,所以又叫只读列表。

 ⑥dict ==> 字典(dict)是 Python 中的映射数据类型,由键(key)-值(value)对构成。

键(key)是不能重复的,而值(value)是可以重复的,字典中的键(key)是不可变的,也就是无法修改的,而值是可变的,可修改的,可以是任何对象,同时字典(dict)是无序的(3.6.x开始有序)。

 ⑦.set ==> 集合,保存大量数据,不可以重复

 二、整数 (int)
    在python中整数(int)的取值范围是为 -2**31~2**31-1 ,即 -2147483648~2147483647 。
注:在Python3中整形没有了长度限制。在python3中 所有的整数都是int类型。
整数可以进行的操作:
bit_length(). 计算整数在内存中占用的二进制码的长度

三、字符串(str)
    字符串是以 ‘’ 或 “” 括起来的任意文本,再或者多行字符串是以 """""" 括起来的任意文本。
字符串是不可改变的数据类型,不管怎么操作,源字符串都不会发生改变,每次操作都会返回新的字符串.

1.切片和索引
1.1索引  索引也叫下标 下标索引  需要注意的是下标都是默认从0开始的 使用[下标]可以从左至右获取到每一个字符,还可以倒着数.
例:  name = 'abcde'
      print(name[0])    #运行结果:a
      print(name[1])    #运行结果:b
      print(name[2])    #运行结果:c

1.2切片  可以使用下标来截取某一部分字符串中的内容,就像一把刀切下去,取出来这部分我们就叫它——"切片"。字符串,列表,元祖均支持切片操作。
切片的语法:[起始索引:截止索引:步长]
先看字符串的索引对应

 a   b   c   d   e  f

 ↓  ↓  ↓  ↓  ↓ ↓

  0   1  2   3   4  5

需要注意的是:切片是"顾头不顾尾"——选取的区间属于左闭右开型,即从"起始"位开始,到"结束"位的前一位结束(不包含结束位本身)。
如果需要取出一部分,则可以在中括号[]中使用:
        例:  name = 'abcdef'
              print(name[0:3])   #取下标0~2的字符
              ***输出结果***:
              abc

             name = 'abcdef'
             print(name[1:])   #取 下标为1开始到最后的字符
             ***输出结果***:
             bcdef

             name = 'abcdef'
             print(name[:])     #从头取到尾
             ***输出结果***:
             abcdef

             name = 'abcdef'
             print(name[1:-1]  #取 下标1开始到倒数第2个字符
             ***输出结果***:
             bcde
按步长切片:
步长默认为1
步长为2的话隔1个取1个
反向取值,从后面开始取的话,步长为-1
例:        name = 'abcde'
            print(name[::2])
            ***输出结果***:
            ace  

            name = 'abcde'
            print(name[::-2]
            ***输出结果***:
            eca

示例图:

澳门葡京备用网址 1

切片是一个新的变量,在内存中,原字符串和切片后的字符串是2个不同的变量
name = name[:] 它们的结果虽然是一样的,但是确是两个不同的变量,具体可以使用is来判断
所以我们可以总结:对字符串的操作,都会产生新的变量,除了赋值以外。

2.字符串的相关操作(方法)
以下操作方法用*的多少表示使用程度
*一般
**常用
***经常

***  capitalize() —— 首字母大写,其他字母小写
例:  d = 'python S'
      print(d.capitalize)
      ***输出结果***:Python s
      print(d)     #原字符串不变
      ***输出结果***:
      python S

***    upper() —— 所有字母大写
***    lower() —— 所有字母小写
例:   d = 'tiancai'
       d1 = d.upper()
       d2 = d1.lower()
       print(d1)
       print(d2)
       ***输出结果***: 
       TIANCAI
       tiancai

**     swapcase() —— 大小写翻转
例:    d = 'TiAnCaI'
        print(d.swapcase())
        ***输出结果***:
        tIaNcAi

**     title() —— 每个词的首字母大写,其他字母小写
例:    d = 'wO shI tiaN caI'
        print(d.title())
        ***输出结果***:
        Wo Shi Tian Cai

*       center() —— 居中,默认使用空格填充 ()中输入输出字符个数,不足的默认用空格填充,可自定制填充元素。
例:    d = 'tiancai'
        print(d.center(11))
        print(d.center(11,'*')
        ***输出结果***:
        tiancai  
        **tiancai**

***     startswith() —— 判断以什么开头
***     endswith —— 判断以什么结尾
例:        d =  'yigetiancai'
        d1 = d.startswith('a')
        d2 = d.endswith('i')
        d3 = d.startswith('t',1,5)    #切片,取索引访问下标1~4,再判断是否以t开头
        d4 = d.startswith('r',3)      #切片,取索引访问下标3~结束,结束位置参数未给,默认取到尾
        print(d1)
        print(d2)
        print(d3)
        print(d4)
        ***输出结果***:
        False
        True
        True
        True

***     strip() ——  默认去除首尾的空格,换行符(\n),tab键(\t)
        d = ' tiancai\t '
        print(d.strip())
        ***输出结果***:
        tiancai 

*       lstrip() —— 去除左边的空格,换行符,tab键
*       rstrip() —— 去除右边的空格,换行符,tab键
***     len() —— 公共方法 输出字符串长度 列表个数 字典键的个数......
例:    d = 'tiancai'
        print(len(d))
        ***输出结果***:
        7

***     find() —— 通过元素找索引,找不到不报错,返回-1
***     index() —— 找索引,找不到即报错
***     repalce() —— 替换 repalce(旧元素,新元素,替换次数)  不输入替换次数默认全部替换
例:    d = '我是天才,天才不需要学习'
        d1 = d.replace('天才','蠢材')    #默认替换所有
        d2 = d.replace('天才','蠢材',1)    #替换1次
        print(d1)
        print(d2)
        ***输出结果***:
        我是蠢材,蠢材不用学习                        
        我是蠢材,天才不用学习

***     count() —— 寻找元素出现的次数,可切片
        c = 'sdvgdsvgaefq'
        c1 = c.count('g')
        c2 = c.count('g',4)
        print(c1)       
        print(c2)   
        ***输出结果***:
        2
        1

***     split() —— 以(自定义)分割,将字符串转换成列表,最终形成一个列表不含有这个分割的元素。
例:        s = '你真的是个人人都喜欢的人'
            s1 = s.split('人')
            print(s1)
            ***输出结果***:
            ['你真的是个', '', '都喜欢的', '']

***      format() —— 格式化输出  有三种用法,如下
第1种:
        s = '我的名字是{},年龄{},喜欢{}'.format('大神',18,'学习')
        print(s)
        ***输出结果***:
        我的名字是大神,年龄18,喜欢学习

第2种:
        s1 = '我的名字是{0},年龄{},喜欢{}'.format('大神',18,'学习')
        print(s1)
        ***输出结果***:
        我的名字是大神,年龄18,喜欢学习

第3种:
        s2 = '我的名字是{name},年龄{age},喜欢{like}'.format(name='大神',age=18,like='学习')
        print(s2)
        ***输出结果***:
        我的名字是大神,年龄18,喜欢学习

*       isalnum() —— 字符串由字母或数字组成  温馨提示:中文字符串也会被归类进去
*       isalpha() —— 字符串只由字母组成  温馨提示:中文字符串也会被归类进去
***     isdigit —— 字符串只由数字组成
例:   name = 'python123'
       name1 = name.isalnum()
       name2 = name.isalpha()
       name3 = name.isdigit()
       name4 = name[-3:].isdigit()    #判断name切片——最后三个字符是否全由数字组成
       print(name1)
       print(name2)
       print(name3)
       print(name4)
       ***输出结果***:
       True
       False
       False
       True

二、for循环
为了方便比较我们先使用while循环,打印每一个字符
d = '12345'
count = 0
while count < len(d):
    print(d[count])
    count += 1
***输出结果***:
1
2
3
4
5

使用for循环完成以上功能
d = '12345'
for i in d:
    print(d)
***输出结果***:
1
2
3
4
5

区别:for循环是有限循环,while循环是无限循环
      某些情况,在不需要终止条件的情况下,使用for循环。
      有终止条件的,使用while循环。
      for循环会自动停止

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website