zoukankan      html  css  js  c++  java
  • 3 python基础数据类型 总览

    *—*—基础数据类型 总览—*—*
    一、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

    示例图:



    切片是一个新的变量,在内存中,原字符串和切片后的字符串是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() —— 默认去除首尾的空格,换行符( ),tab键( )
    d = ' tiancai '
    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循环会自动停止
    作者:蛛丝马迹
        
    no copyright, 欢迎转载
  • 相关阅读:
    JavaScript事件模拟元素拖动
    瀑布流思路总结
    JavaScript模拟QQ签名(HTML5 contenteditable属性)
    烧录时发生:permission denied:'/dev/ttyUSB0'问题的解决
    学习笔记——make项目中克隆GitHub目录失败的解决
    学习笔记——ESP8266项目的例子编译时发生cannot find -lstdc++问题的解决
    ohmyzsh的安装过程中失败拒绝连接问题的解决
    对ESP8266的例子进行编译时报错check_python_dependencies的问题的解决
    ESP8266交叉编译环境变量设置
    ubuntu下安装ESP8266开发环境步骤中可能出现的问题及解决办法
  • 原文地址:https://www.cnblogs.com/python-wang/p/9511471.html
Copyright © 2011-2022 走看看