zoukankan      html  css  js  c++  java
  • Python3数据类型

    一、python使用对象模型来存储数据,每一个数据类型都有一个内置的类,每新建一个数据,实际就是在初始化生成一个对象,即所有数据都是对象

    对象三个特性

    身份:内存地址,可以用id()获取

    类型:决定了该对象可以保存什么类型值,可执行何种操作,需遵循什么规则,可用type()获取

    值:对象保存的真实数据

    注:我们在定义数据类型,只需这样:x=1,内部生成1这一内存对象会自动触发,我们无需关心

    这里的字符串、数字、列表等都是数据类型(用来描述某种状态或者特性)除此之外还有很多其他数据,处理不同的数据就需要定义不同的数据类型

    标准类型

     其他类型

    数字

    类型type

    字符串

    Null

    列表

    文件

    元组

    集合

    字典

    函数/方法

     

     

    模块

    常用的数据类型

    1、 数字(整形,长整形,浮点型,复数)

    2、 字符串     String     (一串字符)

    3、 列表  List (有顺序,索引)

    4、 元组  Tuple     (不能修改的列表)

    5、 集合  Sets       (元素不能重复)

    6、 字典  Dictionaries  (索引可以使任意不变的结构)


    2、标准数据类型

    Python 3支持int、float、bool、complex(复数)。数值类型的赋值和计算都是很直观的,就像大多数语言一样。内置的type()函数可以用来查询变量所指的对象类型。Python 3支持int、float、bool、complex(复数)。数值类型的赋值和计算都是很直观的,就像大多数语言一样。内置的type()函数可以用来查询变量所指的对象类型。

    2、1数字  int

    2.1.1整型:

    Python 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 18:41:36) [MSC v.1900 64 bit (AMD64)] on win32

    Type "copyright", "credits" or "license()" for more information.

    >>> 10

    10             --------->默认十进制

    >>> oct(10)

    '0o12'         --------->八进制表示整数时,数值前面要加上一个前缀“0”

    >>> hex(10)

    '0xa'          --------->十六进制表示整数时,数字前面要加上前缀0X或0x

    >>> 

    a,b,c,d = 20,5.5 ,True ,4+3j 
    print(type(a),type(b),type(c),type(d))

    <class 'int'> <class 'float'> <class 'bool'> <class 'complex'>

    python2.*与python3.*关于整型的区别

    python2.*

    在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647

    在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807

    python3.*整形长度无限制

    2、2长整型long

    python2.*:

    跟C语言不同,Python的长整型没有指定位宽,也就是说Python没有限制长整型数值的大小,

    但是实际上由于机器内存有限,所以我们使用的长整型数值不可能无限大。

    在使用过程中,我们如何区分长整型和整型数值呢?

    通常的做法是在数字尾部加上一个大写字母L或小写字母l以表示该整数是长整型的,例如:

    a = 9223372036854775808L

    注意,自从Python2起,如果发生溢出,Python会自动将整型数据转换为长整型,

    所以如今在长整型数据后面不加字母L也不会导致严重后果了。

    python3.*

    长整型,整型统一归为整型

    2、3布尔bool:

    True 和False

    1和0


    2、4 浮点数float:

    Python的浮点数就是数学中的小数,类似C语言中的double。

    在运算中,整数与浮点数运算的结果是浮点数

    浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,

    一个浮点数的小数点位置是可变的,比如,1.23*109和12.3*108是相等的。

    浮点数可以用数学写法,如1.23,3.14,-9.01,等等。但是对于很大或很小的浮点数,

    就必须用科学计数法表示,把10用e替代,1.23*109就是1.23e9,或者12.3e8,0.000012

    可以写成1.2e-5,等等。

    整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的而浮点数运算则可能会有

    四舍五入的误差。

    2、5 复数complex:

    复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。

    注意,虚数部分的字母j大小写都可以

    Python 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 18:41:36) [MSC v.1900 64 bit (AMD64)] on win32

    Type "copyright", "credits" or "license()" for more information.

    >>> 1.3+2.5j == 1.3+2.5j

    True

    >>> 

    2、6 数字相关内建函数

                           

    3、字符串

    Python 3版本中,字符串是以Unicode编码的, Python3的字符串支持多语言

    是一个有序的字符的集合,用于存储和表示基本的文本信息,‘’或“”或‘’‘ ’‘’中间包含的内容称之为字符串

    特性:

    1.只能存放一个值

    2.不可变

    3.按照从左到右的顺序定义字符集合,下标从0开始顺序访问,有序

    补充:

      1.字符串的单引号和双引号都无法取消特殊字符的含义,如果想让引号内所有字符均取消特殊意义,在引号前面加r,如name=r'l hf'

    字符串创建

    “hello world”

    字符串常用操作

    移除空白

    分割

    长度

    索引

    切片

    事例:

    4、列表

    定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素

    特性:

    1.可存放多个值

    2.可修改指定索引位置对应的值,可变

    3.按照从左到右的顺序定义列表元素,下标从0开始顺序访问,有序

    列表创建

    索引

    切片

    追加

    删除

    长度

    切片

    循环

    包含

    事例

    5、元组创建

    元组常用操作

    索引

    切片

    循环

    长度

    包含

    字典

    事例

    6、字典

    定义:{key1:value1,key2:value2},key-value结构,key必须可hash

    特性:

    1.可存放多个值

    2.可修改指定key对应的值,可变

    3.无序

    字典创建

    字典常用操作

    索引

    新增

    删除

    键、值、键值对

    循环

    长度

    7、集合

    定义:由不同元素组成的集合,集合中是一组无序排列的可hash值,可以作为字典的key

    特性:

    1.集合的目的是将不同的值存放到一起,不同的集合间用来做关系运算,无需纠结于集合中单个值

    集合创建

    事例

    集合常用操作:关系运算

      in

        not in

        ==

        !=

        <,<=

        >,>=

        |,|=:合集

        &.&=:交集

        -,-=:差集

        ^,^=:对称差分

  • 相关阅读:
    30 Day Challenge Day 11 | Leetcode 55. Jump Game
    30 Day Challenge Day 11 | Leetcode 11. Container With Most Water
    30 Day Challenge Day 10 | Leetcode 701. Insert into a Binary Search Tree
    30 Day Challenge Day 10 | Leetcode 1. Two Sum
    30 Day Challenge Day 10 | Leetcode 3. Longest Substring Without Repeating Characters
    30 Day Challenge Day 9 | Leetcode 425. Word Squares
    30 Day Challenge Day 8 | Leetcode 200. Number of Islands
    30 Day Challenge Day 7 | Leetcode 235. Lowest Common Ancestor of a Binary Search Tree
    30 Day Challenge Day 7 | Hackerrank: Tree: Huffman Decoding
    30 Day Challenge Day 6 | Leetcode 92. Reverse Linked List II
  • 原文地址:https://www.cnblogs.com/qiangyuge/p/7163302.html
Copyright © 2011-2022 走看看