精华内容
下载资源
问答
  • 在本篇文章里小编给大家整理了关于Python检测数据类型的方法和相关实例代码,需要的朋友们跟着学习下。
  • Python内置数据类型

    千次阅读 2018-03-28 15:14:33
    Python内置数据类型python数据类型并不需要显示的定义,它会根据初始化赋值的情况来分析其类型,并在内部对其进行跟踪python内置数据类型Booleans:[布尔型]或为True或为FalseNumbers : 可以是Intgers[整数]、...
    Python内置数据类型
    




    python中数据类型并不需要显示的定义,它会根据初始化赋值的情况来分析其类型,并在内部对其进行跟踪


    python内置数据类型


    Booleans:[布尔型]或为True或为False


    Numbers : 可以是Intgers[整数]、Floats[浮点数]、Fractions[分数]甚至是Complex Number[复数]。


    Strings:[字符串型] 是Unicode字符序列


    Byte:[字节]和Byte Array[字节数组]


    Lists[列表]是值得有序序列


    Tuples[元组]是有序而不可变的值序列


    Sets[集合]是装满无序值得包裹


    Dictionaries[字典]是键值对的无序包裹




    math模块下的函数:
    math.pi :代表一个π的常量,表示圆周率
    三角函数
    math.sin() 
    math.cos()
    math.tan()




    列表、元组、集合、字典


    列表是Python的助理数据类型。


    列表常用函数:


    格式:
    a_list = ['a', 'b', 'new', 'mpilgrim']


    append() 在列表末尾最佳元素,可以是任何数据类型,但是都是以一个元素添加到列表
    extend() 方法值接受一个参数,而该参数总是一个列表
    insert() 接受两个参数,第一个参数为列表索引,第二个参数为列表插入列表的值


    count()方法返回列表中某个特定值出现的次数


    'a' in a_list: in 运算符用来判断某个值是否出现在列表中,in运算符总是返回True或False;


    index()方法将查找某个值在列表中第一次出现。并返回出现位置的索引值。如果没有值,index()方法将会引发一个例外


    del a_list[1] 可使用del语句从列表中删除某个特定元素


    删除索引1之后再访问索引1 将不会导致错误。被删除元素后的所有元素将移动他们的位置以'填补'被删除元素所产生的'缝隙'


    a_list.remove('列表里的值'):还可以通过remove()方法从列表中删除某个元素。remove()方法接受一个value参数,并删除列表中改值得第一次出现。同样,被删除元素之后的所有元素将会将索引位置下移,以填补缝隙


    a_list.pop():如果不带参数调用,pop()列表方法将删除列表中最后的元素,并返回所删除的值。 可以从列表中pop[弹出]任何元素。只需要给pop()方法一个位置索引值。他将删除该元素,将其后所有元素移位以'填补'缝隙,
    然后返回它删除的值。
    对空列表调用pop()将会引发一个例外




    元组:
    元组是不可变的列表。一旦创建之后,没有任何途径可以改变列表元素,除非把元组转换为列表


    格式:
    a_tuple = ("a", "b", "mpilgrim", "z", "example")


    元组的定义和李彪相同, 除了整个元素的集合都用圆括号,而不是方括号闭合
    和列表一样,元组的元素都有确定的顺序。元组的索引页是以零为基点的,和列表一样,因此非空元组的第一个元素总是a_tuple[0].
    负的索引从元组的尾部开始计算,这和列表也是一样的。
    元组也可以进行切片操作。对列表切片可以得到新的列表;对元组切片可以得到新的元组。


    元组和列表的主要区别是元组不能进行修改。用技术术语来说,元组是不可变的。从实践的角度来说,没有可用于修改元组的方法。


    元组的优势:
    元组的速度比列表快。如果定义了一系列常量值,而所需做的仅是对它进行遍历,那么请使用元组替代列表。
    对不需要改变的数据进行'写保护'将使得代码更安全。使用元组替代列表就像是有一条隐含的assert语句显示该数据是常量特别的想法必须重写。
    一些元组可用做字典键(特别是包含字符串,数值和其它元组这样的不可变数据的元组)。列表永远不能当做字典键使用,应为列表不是不可变的。


    集合:
    集合set是装有独特值得无序'袋子'。一个简单的集合可以包含任何数据类型的值。如果有两个结合,则可以执行像联合、交集以及集合求差等标准集合运算


    格式:
    a_set = {1}


    创建一个集合,只要将值放置于花括号之间({})
    实际上,集合以类的形式实现,但目前还无须考虑这一点
    要创建多只集合,请将值用逗号分开,并用花括号将所有值包裹起来。




    要从列表创建集合,可使用set()函数。(懂得如果实现集合的学究可能指出这实际上并不是调用某个函数,而是对某个类进行实例化。我保证在本书稍后的地方将会学到其中的区别。目前而言,仅需知道set()行为与函数类似
    以及它返回一个集合


    正如我之前提到的,简单的集合可以包括任何数据类型的值。而且,如我之前所提到的,结合是无序的。该集合并不记得用于创建它的列表中元素的最初顺序。如果向结合中添加元素,他也不会记得添加的顺序


    初始的列表并不会发生变化




    修改集合:
    有两种方法可向现有集合中添加值:add()方法和update()方法


    add()方法接受单个可以是任何数据类型的参数,并将该值添加到集合之中
    集合是装唯一值得袋子,如果试图添加一个结合中已有的值,将不会发生任何事情。


    update()方法仅接受一个集合作为参数,并将其所有成员添加到初始列表中。其行为方式就像是对参数集合中的每个成员调用add方法
    由于集合不能包含重复的值,因此重复的值将会被忽略
    实际上,可以带任何数量的参数调用update()方法。如果调用时传递了两个结合,update()将会被每个集合中的每个成员添加到初始的集合当中(丢弃重复值)
    update()方法还可以接收一些其它的数据类型的对象作为参数,包括列表。如果调用时传入列表,update()将会把列表中所有的元素添加到初始结合中。


    从集合中删除元素


    有三种方法可以用了从集合中删除某个值。discard()、remove()、pop()


    discard()接受一个单值作为参数,并从集合中删除改值
    如果针对一个集合不存在的值调用discard()方法,它不进行任何操作。不产生错误;只是一条命令
    remove()方法也接受一个单值作为参数,也从集合中将其删除
    区别在于:如果该值不在集合中,remove()方法引发一个keyError例外


    pop()方法从集合中删除某个值,并返回该值。然而,由于集合是无序的,并没有最后一个值得概念,因此无法控制删除的是哪一个值。他基本上是随机的。
    clear()方法删除集合中所有的值,留下一个空集合。他等价于a_set=set(),改语句创建一个新的空结合,并用之覆盖a_set变量的之前的值。
    试图从空结合中弹出某值将会引发KeyError例外


    要检测某个值是否是集合的成员,可使用in运算符。其工作原理和列表一样
    union()方法返回一个新集合,其中装着在两个集合中出现的元素。
    intersection()方法返回一个新集合,其中装着同时在两个集合中出现的所有元素
    differenct()方法返回的新集合中,装着所有在a_set出现但未在b_set中的元素
    symmetric_difference()方法返回一个新集合,其中装着所有只在其中一个集合中出现的元素 
    展开全文
  • Python基本数据类型

    千次阅读 2016-02-16 23:12:36
    python的基本数据类型介绍

    Python基本数据类型

    1、 数字

    Python中数字包括几种类型,类型分别如下:

    整数;长整数;浮点数;复数

    整数和长整数在表示方法上的不同之处在于长整数需要用后缀L表示为长整数,所表示的含义为long,长整数表示的数字为无限大小,在整数达到一定长度之后会自动转换为长整数。

    整数还可以分为八进制表示,前缀用0开头;十六进制表示,前缀用0x开头。

    浮点数的意义为小数点的位置是可以发生变化的,从而称之为浮点数,浮点数是包含有小数点的。

    复数的虚部用j结尾。

    部分例子如下:

    >>> a = 12

    >>> b = 13.0

    >>> a + b

    25.0

    >>> a = 1+2j

    >>> b = 2+3j

    >>> a + b

    (3+5j)

    >>> a = 1.3

    >>> b = 1

    >>> a - b

    0.30000000000000004

    >>> b = 1.0

    >>> a - b

    0.30000000000000004

    在进行浮点数运算的时候,注意小数点的位数,如果是整形和浮点数进行运算,那么在计算的时候,和实际计算的值是有区别的,主要是由于浮点数的精度所导致

    1.1 算术运算符

    运算符包括加减乘除,乘方,取余等运算符,在计算的时候,如果有浮点数,那么会将整数自动转换为浮点数进行运算,在优先级中,乘方的优先级最高,可以使用括号来进行修改其优先级。符号分别为:+,-,*,/,%,浮点除法为//

    1.2 比较运算符

    比较运算符根据表达式的值为真假,从而返回布尔值True或者False,如下:

    <=

    >=

    ==

    !=

     

    1.3 逻辑运算符

    逻辑运算符包括三种,如下所示:

    And

    Or

    not

    使用逻辑运算符可以将任意表达式连接在一起,并得到一个布尔值。

    如下例子是可以使用的:

    >>> 3<4<5

    True

    >>> 6>=5>=4

    True

    可以使用这种形式来表示and的条件。在进行求值得时候,从左到右的顺序执行。

     

    在进行条件的判断的时候,注意适当的使用括号来增加代码的可读性。

     

    1.4 对象的比较

    在进行对象的比较的时候,一般比较都是比较对象的值,但是也可以比较对象的身份,如下所示:

    >>> a = 1000

    >>> b = 1000

    >>> a is b

    False

    >>> a is not b

    True

    在进行对象比较的时候,由于字符串和整数是不可变类型,所以python会很高效的缓存它们,从而在表面上没有创建新建对象的假象,如下和上面的结果就完全不同:

    >>> a = 1

    >>> b = 1

    >>> id(a)

    56537896

    >>> id(b)

    56537896

    >>> a is b

    True

    >>> a = "kel"

    >>> b = "kel"

    >>> a is b

    True

    Python仅缓存简单的整数,大概范围在-1-100之间。缓存的字符串如果没有引用,那么会自动被销毁。

    Pythonis not 都是python的关键字

    1.5 标准类型函数

    Cmp(),str(),type()内建函数,分别为比较两个数字的大小,将数字转换为字符串,返回数字对象的类型,如下所示:

    >>> cmp(1,2)

    -1

    >>> cmp(-1,2)

    -1

    >>> cmp(1,1)

    0

    >>> str(1)

    '1'

    >>> type(1)

    <type 'int'>

    >>> type(98L)

    <type 'long'>

    1.6 转换工厂函数

    转换工厂函数主要为:int(),float(),long(),complex()

    >>> int(4.22)

    4

    >>> long(42)

    42L

    >>> float(4)

    4.0

    1.7 模块函数介绍

    常用函数如下:

    函数

    功能

    Abs(num)

    返回num的绝对值

    Coerce(num1,num2)

    将num1和num2转换为同一类型,然后以元祖形式返回

    Divmod(num1,num2)

    除法,取余运算结合,返回一个元祖(num1/num2,num1%num2)

    Pow(num1,num2,mod=1)

    取num1的num2次方,如果提供mod参数,则计算结果对mod进行取余

    Round(flt,ndig=0)

    接受一个浮点数flt对其结果四舍五入,保存ndig位小数,默认小数点后0位--仅用于浮点数

     

    模块random():

     

    2、 字符串

    字符串是由一系列的字符组成,字符串可以包含字母,数字和一些控制字符组成,由单引号或者双引号,或者三引号组成,在输出的时候,可以使用三引号来整理要输出的格式,在进行换行时,可以使用换行符或者是三引号来进行换行,利用引号或者括号来进行换行是不可以的。

    >>> print "kel

      File "<stdin>", line 1

        print "kel

                 ^

    SyntaxError: EOL while scanning single-quoted string

    >>> print ("krl

      File "<stdin>", line 1

        print ("krl

                  ^

    SyntaxError: EOL while scanning single-quoted string

    在上面的例子中,表示使用双引号或者是括号来进行换行都是会出错的。

    2.1 字符串中的转义

    字符串中的转义字符为\,在其中包含的转义字符如下:

    转义字符

    含义

    \t

    制表符

    \n

    换行符

    \r

    回车符

    \\

    反斜杠

    \”

    双引号,非字符串结束

    \‘

    单引号,非字符串结束

    2.2 字符串的索引和切片

    在字符串中,字符串是不可变序列的列表,也就是无论对字符串如何操作,都是不能改变原来字符串的,只能创建一个新的字符串,如下:

    #字符串是不可变的

    >>> str = "kel"

    >>> str.join("--")

    '-kel-'

    >>> str

    'kel'

    >>> str.split("e")

    ['k', 'l']

    >>> str

    'kel'

    #字符串切片和索引

    >>> str

    'kel'

    >>> str[0]

    'k'

    >>> str[1:2]

    'e'

    >>> str[1:100]

    'el'

    >>> str[:]

    'kel'

    >>> str[:1]

    'k'

    >>> str[1:]

    'el'

    #索引可以使用复数,表示从后面开始

    >>> str[-1]

    'l'

    >>> str[-3:-1]

    'ke'

    2.3 格式化字符串

    在进行变量替换的时候,需要使用到格式化字符串,如下所示:

    >>> print "your name:%s" % (str) ,"this is append"

    your name:kel this is append

    >>> print "your name:%s ,your age: %s " %(str,29)             

    your name:kel ,your age: 29

    在进行格式化其他类型的时候,只是%s使用不同,例如使用%d表示格式化为十进制进行输

    2.4 原始字符串

    原始字符串表示在字符串中不需要转义字符\即可使用,但是在使用windows的路径的时候,如果以\结尾,那么会报错。

    在使用原始字符串的时候,只要在字符串前面加上r即可,在原始字符串中,反斜杠\将不再是表示为转义。如下

    >>> path = r"c:\home\kel\"

      File "<stdin>", line 1

        path = r"c:\home\kel\"

                             ^

    SyntaxError: EOL while scanning single-quoted string

    >>> path = r"c:\home\kel"

    >>> print path

    c:\home\kel

    2.5 字符串常用方法

    主要的方法:

    Join()和split()方法:

     

    >>> str ="kel is the good man!"

    >>> " ".join(x.capitalize() for x in str.split(" "))# 将split返回的list中的值首字母大写,然后用空格分开

    'Kel Is The Good Man!'

    下面是string.py的注释

    join(words, sep=' ')

        join(list [,sep]) -> string

       

        Return a string composed of the words in list, with

        intervening occurrences of sep.  The default separator is a

        single space.

       

        (joinfields and join are synonymous)

     

    下面是常用的方法:

    字符串操作

    描述

    String.capitalize()

    将字符串的第一个字母大写

    String.count()

    获得字符串中某一字符串的数目

    String.find()

    获得字符串中某一字符串的起始位置

    String.isalnum()

    检测字符串是否仅包含0-9

    String.isalpha()

    检测字符串是否仅包含A-Za-z

    String.isdigit()

    检测字符串是否仅仅包含数字

    String.islower()

    检测字符串是否均为小写

    String.isspace()

    检测字符串是否均为空白字符

    String.istitle()

    检测字符串是否为首字母大写

    String.isupper()

    检测字符串是否均为大写

    String.join()

    连接字符串

    String.lower()

    将字符串全部转换为小写

    String.split()

    分割字符串

    String.swapcese()

    将字符串中大小写进行转换

    String.title()

    将字符串中的首字母大写

    String.upper()

    将字符串中的字母全部大写

    Len(string)

    获取字符串长度

     

    展开全文
  • 系列文章目录:【白话python连载(1)】 一起遇见python【白话python连载(2)】 Python的程序结构【白话python连载(3)】 Python的输入输出实例【白话python连载(4.1)】 python数据类型【白话python连载(4.2...

    欢迎关注公众号【哈希大数据】

    系列文章目录:

    【白话python连载(1)】 一起遇见python

    【白话python连载(2)】 Python的程序结构

    【白话python连载(3)】 Python的输入输出实例

    【白话python连载(4.1)】 python的数据类型

    【白话python连载(4.2)】 python的数据类型

    【白话python连载(5)】 python的条件语句

    【白话python连载(6)】 python的循环语句

    【白话python连载(7.1)】 python的函数应用

    【白话python连载(7.2)】 python的模块介绍

    【白话python连载(8)】 python的异常处理

    【白话python连载(9.1)】 使用python处理文件

    【白话python连载(9.2)】 python的os模块

    【白话python连载(10)】 python的内置函数

    从之前的介绍我们知道,python作为计算机程序之一,可以用来处理数学计算、文本、图像、视频、网页等等。不同内容背后对应的数据类型是不同的,弄明白不同的数据类型及其特点,才能迈出最重要的一步,完成更好的程序组织。python的数据类型内容稍微有点多,所以分两小节进行介绍,本节主要介绍基本的数据类型和序列的数据类型。下面直接进入主题,来了解python中的不同数据类型。

    python的数据类型--迈步万里长城(一)

    +

    基本的数据类型介绍

    python中最基本的数据类型包括:整型、布尔型、浮点型、复数等。以及基本运算。

    基本的数据类型

    特点

    实例

    整型(int)

    python3中只有长整型一种(基本数值)

    a=3,b=-2,c=0

    布尔型

    (bool)

    一般用于判断中,可以返回表达式计算的正误、数据结构是否为空、字符是否存在等。

    None→False,a>c→True

    0,{},[],(),以及None均为False,反之则为True。

    浮点型

    (float)

    带小数点的数值

    e=32.3e+18,f=-3.0

    复数

    (complex)

    负数中的实部和虚部都是浮点数

    0.2 - 3j,或者complex(2,-3)

    pyhon数据类型的注意点

    1、python中使用变量不需要提前指明数据类型,在赋值时将自动确定变量的类型。

    2、使用range函数可以生成常用的整数序列。

    3、python中有一个特殊的类型,空值,被称作 Null 对象或者 NoneType,它只有一个值,那就是 None。

    4、它不支持任何运算也没有任何内建方法。None和任何其他的数据类型比较永远返回False。

    组合的数据类型

    在python中有多重组合的数据类型,包括序列类型、映射类型和集合类型三大类。其中python包含6中内建的序列类型,即列表、元组、字符串、Unicode字符串、buffer对象和xrange对象。序列中的每个元素拥有一个序号即元素的位置——索引。

    序列的数据类型介绍

    列表[List]

    最常用的序列类型是列表、元组和字符串。它们拥有通用的序列操作方法:索引、切片、扩展切片、长度、序列相加、乘法、判断、成员

    创建列表

    list作为python的内置数据类型,通过方括号[]进行包裹,可以基于已有列表生成新的列表,主要借助列表定义、列表操作方法,或列表生成式创建新列表。除此也可以使用列表生成器,但是列表生成器并不是直接创建一个列表,而是通过迭代器不断的返回列表中的数据。

    l  range()函数可以生成一组有规律的数组,然后再用数据类型转换方法list(range())将生成的数组转变为列表类型。

    通过循环依次获取需要的数据,并且在已经申明好的列表中完成添加而形成新的列表。

    l  为了方便操作,可以使用列表生成式

    基本格式是[ 元素表达式 依次循环原有列表 判断条件],列表也可以直接指定值初始化生成,其中循环原有列表和判断条件可以按照实际需求进行指定。

    l  为了减少列表所占用的内容,可以通过列表的生成器创建动态列表。并且调用生成器的next方法依次获取生成器中的每个值。

    基本格式是( 元素表达式 依次循环原有列表 判断条件),类似于列表生成式,但是要用圆括号包裹相应内容。

    列表的常用方法如下

    方法与说明

    实例

    .append(obj)

    在列表的末尾进行元素追加

    .clear()

    清空所有值

    .copy()

    复制列表中的所有值

    .count(value)

    统计元素的个数

    .extent(iterable)

    在列表之后添加另一个列表的值

    .index(value,)

    找出某个值第一个匹配的位置

    .insert(index,object)

    在列表指定位置插入元素

    .pop(object)

    移除列表中指定位置的元素,

    并且返回该元素的值


    .remove(value)

    移除列表中该值的第一个匹配项

    .reverse()

    反转列表中的所有元素

    .sort(key=None,reverse=False)

    对原列表按照一定规则进行排序

    (Unicode字符)

    元组(tuple)

    元组的特点与列表很像,是通过圆括号()包裹表示。创建元组的方式很简单,只需要在括号括号中添加元素并且依次用逗号隔开即可。

    而且为了避免歧义对于单元素的元组在创建时,也需要在元素后面添加逗号。

    但是元组初始化之后对应元素索引不可改变。因此元组没有添加删除扩展等操作方法。只能进行元素计数和查找。

    方法

    说明

    .count(value) 

    统计元组中某个元素的个数

    .index(value) 

    返回某个元素第一个匹配的位置

    而且要注意的是如果元组索引下的元素类型是可变的,则元素内容是可变的,否则元素内容是不可变的。以嵌套列表的元组为例,初始化一个元组t后,其本身索引所对应的内容不可修改,但是索引中l列表中的内容可修改。最终元组的值发生改变,是因为列表的特点导致的。

    因为元组的不可更改的特性,可以很好地保证代码数据的安全性,但是也会因此降低代码的灵活性。因此在实际编程操作过程中,应当按照任务要求选择列表或者元组类型。

    字符串(string)

    字符串是python中最常用的序列数据类型。直接通过单引号或双引号包裹就可以生成字符串。字符串有40多种内建函数,这里介绍最常用的几种,剩下的大家可自行测试。

    .count(str, beg, end)

    返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定,则返回指定范围内 str 出现的次数。(直接指定索引号即可)

    .endswith(suffix, beg, end)

    检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False.

    .encode(encoding=’utf-8’,errors=’strict’)

    以 encoding 指定的编码格式编码字符串,如果出错默认报一个ValueError 的异常,除非 errors 指定的是'ignore'或者'replace'

    在连载2中关于编码的问题有详细介绍

    python默认Unicode编码运行,但是保存方式需指定为需要的编码方式(默认utf-8为python的存储方式)


    .find(str, beg, end)

    检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1

    .index(str, beg, end)

    跟find()方法一样,只不过如果str不在字符串中会报一个异常.


    .islower()

    如果字符串中包含至少一个区分大小写的字符,并且所有这些字符都是小写,则返回 True,否则返回 False


    .join(iterable:str)

    以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串

    字符串本身是序列数据类型,可迭代

    .replace(old, new [, max]) (从头开始匹配)

    将字符串中的 str1 替换成 str2,如果 max 指定,则替换不超过 max 次。


    .split(str=None,maxsplit=_1)

    默认以空格为分隔符截取字符串,如果第二个参数有指定值,则仅截取指定个子字符串

    . strip()【lstrip(),rstrip()】

    删除字符串字符串开头和末尾的空格

    了解python中字符串的常规方法和编码问题后,可以在使用过程中,更灵活的处理文本内容,进行字符串格式化规范化的存储。

    序列数据类型的通用操作

    接下来我们来看这三种常用的序列数据类型的通用操作。

    通用操作(初始化)

    索引:从左向右:索引从0开始,

    从右向左:索引从-1开始

    超过索引值后返回结果会报错

    通过索引获取字符串中字符

    切片:s[i:j]

    截取部分内容,j最大默认字符串长度

    扩展切片:s[i:j:k]

    指定截取内容的方式,每隔几个截取

    len():取得元素的个数

    +:合并数据(只用于字符串之间的操作)

    *:重复合并(只用于字符串之间的操作)

    all():所有项都为False,则返回Ture

    any():任何一项为False,则返回Ture

          

    in&not in:成员判断


     

    总结

    本次主要介绍了:

    1、python中基本的四种数据类型:整型、布尔型、浮点型和复数(重点要注意布尔型为false的一些值:None,0,[],())

    2、python中的序列数据类型:列表,元组和字符串。(重点要了解每种数据类型的特点和一些常规方法,而且在使用字符串时了解编码的相关问题(可去第二节查看)

    3、最后重点介绍了序列数据类型的通用方法,方便进行数据的查询、判断和处理等。



    展开全文
  • 每个对象都有类型,python中最基本的内置数据类型: 整型 整数 234 浮点型 小数 3.14 布尔型 表示真假 仅包含 True False 字符串型 由字符串组成的序列 数字 python中支持整数和浮点数,我们可以对数字做...

    本系列为自己学习Python的笔记,如有误,欢迎大家指正

    最基本内置数据类型介绍

    每个对象都有类型,python中最基本的内置数据类型:

    1. 整型

      整数 234

    2. 浮点型

      小数 3.14

    3. 布尔型

      表示真假 仅包含 True False

    4. 字符串型

      由字符串组成的序列

    数字

    python中支持整数和浮点数,我们可以对数字做如下运算

    运算符说明示例结构
    +加法3+25
    -减法30-525
    *乘法3*618
    /浮点数除法8/24.0
    //整数除法7//23
    %模(取余)7%43
    **2**38

    • 除数为0会产生异常 ZeroDivisionError

    • 使用divmod()函数同时得到商和余数


    整数

    python中,除10进制,还有其他三种进制

    • 0b或0B 二进制 0 1
    • 0o或0O 八进行 0 1 2 3 4 5 6 7
    • 0x或0X 十六进制 0 1 2 3 4 5 6 7 8 9 a b c d e f

    这三种进行可以非常方便的进行“位运算”操作

    使用int()实现类型转换

    1. 浮点数直接舍去小数部分
    2. 布尔值True转为1,False转为0
    3. 字符串符合整数格式(浮点数格式不行)则直接转成对应整数,否则报错

    自动转型

    整数和浮点数混合运算时,表达式结构自动转换为浮点数

    整数可以有多大

    python2中,int是32位,可以存储从-2147483648到2147483647的整数,long类型是64位,可以存储-262~263-1之间的数值

    python3中,int可以存储任意大小的整数,long被取消,我们甚至可以存储下面的值:google=10**100

    Googol是Google最初的名字,这也是Google最初的含义

    在python3中可用超大数的计算,而不会造成“整数溢出”,这也是pythonn特别适合科学计算的特点

    浮点数

    浮点数,称为float

    浮点数用 a ∗ b e a*b^e abe形式的科学计数法表示,比如3.14表示成 314 E − 2 314E-2 314E2或者 314 e − 2 314e-2 314e2这些数字在内存中也是安装科学计数法存储。

    类型转换和四舍五入

    1. 类似于int() 我们也可以使用float()将其转换为浮点数
    2. 整数和浮点数混合运算时,表达式结果自动转换为浮点数
    3. round(value)可以返回四舍五入的值(不会改变原有值,是产生新的值)

    增强型赋值运算符

    运算符 + - * / // **和%赋值符结合可以构成增强赋值运算符 a=a+1等价于 a+=1

    时间的表示

    计算机中时间的表示是从1970年1月1日00:00:00开始,以毫秒进行计算,我们也把1970年这个时刻称为unix时间点

    python中可以通过time.time()获得当前时刻,返回的是以秒为单位

    布尔值

    Python2中没有布尔值,直接用数字-表示False用数字1表示True

    Python3中,把True和False定义成了关键字,但他们的本质也还是1和0,甚至可以和数字相加

    比较运算符

    所有比较运算符返回1表示真,返回0表示假,这分别于特殊的变量True和False等价

    == != > < >= <=

    逻辑运算符

    or and not

    同一运算符

    比较两个对象的存储单元,实际比较的是对象的地址

    运算符描述
    isis是判断两个标识符是不是引用同一个对象
    is notis not是判断两个标识符是不是引用不同对象

    is和==区别:

    is用于判断两个变量引用对象是否为同一个,既比较对象的地址

    ==用于判断引用变量引用对象的值是否相等,默认调用对象的__eq__()方法

    常数缓存问题

    python仅仅对比较小的整数对象进行缓存(【-5,256】)。注意这仅仅是在命令行中执行,而在pycharm或者保存文件执行的时候是不一样的,这是因为解释器进行了一部分优化(【-5,任意正整数】)

    总结:

    1. is比较两个对象的id值是否相等,是否指向同一个内存地址
    2. ==比较的是两个对象的内容是否相等,值是否相等
    3. 小整数对象[-5,256]在全局解释器范围内被放入缓存供重复使用
    4. is运算符比==效率高,在变量和None进行比较时,应该使用is

    字符串

    字符串基本特点

    很多人初学编程时,总是担心自己数学不好,潜意识里认为数学好才能编程,实际上,大多数程序员打交道最多的是“字符串”而不是“数字”.因为,编程是用了解决现实问题的,因此逻辑思维的重要性往往超过数学能力。

    字符串的本质是:字符序列。python的字符串是不可变的,我们无法对原字符串做任何修改。但,可以将字符串的一部分复制到新创建的字符串,达到“看起来修改”的效果。

    python不支持单字符类型,单字符也是作为一个字符串使用的。

    字符串的编码

    Python3直接支持Unicode,可以表示世界上任何书面语言的字符。Python3的字符默认就是16位Unicode编码,ASCII码是Unicode编码的子集。

    • 使用内置函数ord()可以把字符转换成对应的Unicide码;
    • 使用内置函数chr()可以把十进制数字转换成对应的字符
    print(ord('A'))#65
    print(ord('桑'))#26705
    print(chr(66))#B
    print(chr(20001))#両
    

    引号创建字符串

    我们可以通过单引号或双引号创建字符串,eg:a=‘abc’ b=“slp"

    我们使用两种引号的好处是可以创建本身就包含引号的字符串,而不用使用转义字符

    连续三个单引号或三个双引号,可以帮助我们创建多行字符串。

    空字符串和len()函数

    python允许空字符串的存在,不包含任何字符,且长度为0.

    len()用于计算字符串含有多少字符。

    转义字符

    我们可以使用"\+特殊字符"实现某些难以用字符表示的效果,比如:换行等。常见的转义字符有:

    转义字符描述
    \(在行尾时)续行符
    \\反斜杠符号
    \'单引号
    \"双引号
    \b退格
    \n换行
    \t横向制表符
    \r回车

    字符串拼接

    1. 可以使用+将多个字符串拼接起来
      • 如果+两边都是字符串,则拼接
      • 如果+两边都是数字,则做加法运算
      • 如果+两边类型不同,则抛出异常
    2. 可以将多个字面字符串直接放到一起实现拼接

    字符串复制

    使用*可以实现字符串复制

    a = 'Slp'*3
    a #SlpSlpSlp
    

    不换行打印

    我们前面调用print时,会自动打印一个换行符。有时,我们不想换行,不想自动添加换行。我们可以通过自己指定end=“任意字符串”,实现末尾添加任何内容。

    从控制欲读取字符串

    我们可以使用input()从控制台读取键盘输入的内容。

    str()实现数字转型字符串

    str()可以帮助我们将其他数据类型转换为字符串

    当我们调用print()函数时,解释器自动调用了str()将费字符串的对象转成了字符串。

    使用[]提取字符

    字符串的本质就是字符序列,我们可以通过在字符串后面添加[],在[]里面指定便宜了,可以提取该位置的单个字符。

    • 正向搜索:最左侧第一个字符,偏移量是0,第二个偏移量是1,依次类推,直到len(str)-1为止
    • 反向搜索:最右侧第一个字符,偏移量是-1,导数第二个偏移量是-2,依次类推,直到-len(str)为止

    replace()实现字符串替换

    字符串是不可改变的,我们通过[]可以获取字符串指定位置的字符,但是我们不能改变字符串,如果我们尝试改变某个字符,会有错误TypeError :'str' object does not support item assignment

    字符串不可改变,但是我们确实有时候需要替换,此时我们只能通过创建新的字符串来实现。

    a = '123'
    a = a.replace('1','4')
    

    整个过程中,实际上是创建了新的字符串对象,并指向了a,而不是修改了以前的字符串。

    字符串切片slice操作

    切片slice操作可以让我们快速的提取子字符串,标准格式为:[起始偏移量 start:终止偏移量end:步长 step]

    典型操作(三个量为正数的情况)如下:

    操作和说明示例结果
    [:]提取整个字符串abcdef[:]abcdef
    [stsrt:] 从start索引开始到结尾abcdef[2:]cdef
    [:end]从头开始到end-1abcdef[:2]ab
    [start:end]从start到end-1abcdef[2:4]cd
    [start:end:step]从start开始到end-1,步长是stepabcdef[1:5:2]bd

    其他操作(三个数为负数)的情况:

    示例说明结果
    “abcdefghijk”[-3:]倒数3个ijk
    “abcdefghijkstuvwxyz”[-8:-3]倒数第8个到倒数第三个(包头不包尾)stuvw
    “abcdefghijkstuvwxyz”[::-1]步长为负,从右到左反向提取zyxwvutsrqponmlkjihgfedcba

    切片操作时,起始偏移量和终止偏移量不在[0,字符串长度-1]这个范围,也不会报错。起始偏移量小于0则会当成0,终止偏移量大于长度-1,则会被当成-1

    split()分隔和join()合并

    split()可以基于指定分隔符将字符串分割成多个子字符串(存储到列表中)。如果不指定分隔符,则默认使用空白字符(换行符/空格/制表符)

    join()的作用和split()作用正好相反,用于将一系列子字符串连接起来。

    print(a.split())
    b=['s','l','p']
    print("".join(b))
    

    拼接字符串要点:

    使用字符串拼接符+,会生产新的字符串对象,因此不推荐使用+来拼接字符串。推荐使用join函数,因为join函数再拼接字符串之前会计算所有字符串的长度,然后逐一拷贝,仅新建一次对象。

    字符串驻留机制和字符串同一性判断

    字符串驻留:仅保存一份相同且不可变字符串的方法,不同的值被存放在字符串驻留池中,python支持字符串驻留机制,对于符合标识符规则的字符串(下划线 字母 数字)会启用字符串驻留机制

    字符串常用方法汇总

    常用查找方法
    方法和使用示例说明结果
    len(a)字符串长度
    a.startwith(‘ss’)以指定字符串开头
    a.endswith(‘tt’)以指定字符串结尾
    a.find(‘s’)第一次出现指定字符串的位置
    a.rfind(‘t’)最后一次出现指定字符串的位置
    a.count(’a‘)指定字符串出现了几次
    a.isalnum()所有字符全是字母或数字
    去除首尾信息

    我们可以使用strip()去除字符串收尾指定信息,通过lstrip()去除字符串左边指定信息,rstrip()去除字符串右边指定信息

    大小写转换
    示例说明结果
    a.capitalize()产生新的字符串,首字母大写
    a.title()产生新的字符串,每个单词都首字母大写
    a.upper()产生新的字符串,所有字符全部转成大写
    a.lower()产生新的字符串,所有字符全转成小写
    a.swapcase()产生新的,所有字母大小写转换
    格式排版

    center() ljust() rjust()这3个函数用于对字符串实现排版

    字符串格式化
    • format()基本用法:基本语法是通过{}和:来代替以前的%,format函数可以接受不限个数参数,位置可以不按顺序。

      a="名字是:{0},年龄是:{1}"
      print(a.format('slp','18'))
      b="名字是:{0},年龄是{1},{0}是个努力的小姑娘"
      print(b.format('slp',18))
      c="名字是{name},年龄是{age}"
      print(c.format(age=18,name='slp'))
      

      我们可以通过{索引}/{参数名},直接映射参数值,实现对字符串的格式化。

    • 填充与对齐

      填充常跟对齐一起使用

      ^ < > 分别是居中,左对齐 右对齐后面带宽度

      :后面带填充的字符,只能是一个字符不指定则默认用空格填充。

    • 数字格式化

      浮点数通过f,整数通过d进行需要的格式化

      格式描述输出
      {:.2f}保留小数点后两位
      {:+.2f}带符号保留小数点后两位
      {:.0f}不带小数
      {:0>2d}数字补0,填充左侧,宽度为2
      {:x<4d}数字补x,填充右边,宽度为4
      {:,}以逗号分隔的数字格式
      {:.2%}百分比格式
      {:.2e}指数记法
      {:10d}右对齐,(默认,宽度为10)
      {:<10d}左对齐,(宽度为10)
      {:^10d}中间对齐(宽度为10)
    可变字符串

    在python中,字符串属于不可变对象,不支持原地修改,如果需要修改其中的值,只能创建新的字符串对象,但是,经常我们确实需要原地修改字符串,可以使用ioStringIO对象或array模块

    import io
    s = 'hello slp'
    sio = io.StringIO(s)
    print(sio)
    print(sio.getvalue())
    print(sio.seek(7))
    print(sio.write('g'))
    print(sio.getvalue())
    
    其他方法
    1. isalnum():是否为字母或数字
    2. isalphal():检测字符串是否只由字母组成(含汉字)
    3. isdigit():检测字符串是否只由数字组成
    4. isspace():检测是否为空白符
    5. isupper():是否为大写字母
    6. islower():是否为小写字母

    基本运算符

    运算符说明
    or and not布尔或 布尔与 布尔非
    is 、 is not同一性判断,判断是否为同一个对象
    < <= > >= != ==比较值是否相当,可以连用
    | ^ &按位或 按位异或 按位与
    << >>移位
    ~按位翻转
    + - * / // %加 减 乘 除 整数除 取余
    **幂运算
    运算符优先级

    由高到低

    运算符描述
    **指数
    ~ + -按位翻转 一元加号和减号
    * / // %乘 除 取模 取整除
    + -加法 减法
    >> <<右移 左移运算符
    &位 AND
    ^ |位运算符
    <= < > >=比较运算符
    <> == !=等于运算符
    = %= /= //= -= *= **=赋值运算符
    is 、is not身份运算符
    in 、not in成员运算符
    not and or逻辑运算符

    微信搜一搜【梓莘】或扫描下方二维码交个朋友共同进步。文章持续更新中。目前在整理python百战学习笔记,期待后续更多的更新哦。
    在这里插入图片描述

    展开全文
  • python六大数据类型详解

    万次阅读 多人点赞 2019-10-13 21:07:18
    史上最全数据类型详解,详细介绍了Python3 中六个标准的数据类型:Number(数值)、String(字符串)、List(列表)、Tuple(元组)、Set(集合)、Dictionary(字典)。六大数据类型的方法和常规操作。
  • 1.8 Python 数据类型

    万次阅读 2019-05-24 11:30:50
    1.81.8.1 Number数字1.8.2 String...之前我们已经介绍了Nember类型的基本操作,下面介绍他们的操作函数(了解) 数学函数 函数 返回值 ( 描述 ) abs(x) 返回数字的绝对值,如abs(-10) 返回 1...
  • Python数据类型

    千次阅读 2018-08-26 18:45:15
    目录 数字(numbers) 字符串(str) ...字符串是Python 中最常用的数据类型。双引号或者单引号中的数据,就是字符串。 2、下标和切片 下标: 所谓“下标”就是编号,就好比超市中的存储柜的编号...
  • 1. 判断数据类型type(x) x = torch.randint(1,2,[2,2]) print(type(x)) <class 'torch.Tensor'> 2.判断是否与已知一样 isinstance(x,type) 函数isinstance 作用是判断类型是否与已知一样 print(isinstance(x...
  • python基本数据类型——str

    万次阅读 2017-06-02 23:51:33
    isupper(self):检测字符串中所有的字母是否都为大写。 string = ' MY NAME IS YUE. ' new_str = string.isupper() print (new_str) # 输出:True string = ' My name is Yue. ' new_str = string.isupper...
  • python如何判断数据类型

    千次阅读 2019-10-24 01:04:07
    python如何判断数据类型? 在python中可以使用isinstance()函数来判断数据类型,isinstance()函数来判断一个对象是否是一个已知的类型,类似 type()。 isinstance() 与 type() 区别: ...
  • python数据类型02

    万次阅读 2018-11-15 22:11:56
    Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用。 Python 访问子字符串,可以使用方括号来截取字符串,如下实例: var1 = 'Hello World!' var2 = &amp;amp;amp;quot;Sunchengquan&...
  • 您的“关注”和“点赞”,是信任,是认可,是支持,是动力… 如意见相佐,可留言。 本人必将竭尽全力试图做到准确和全面,终其一生进行修改补充更新。 原创文章 19获赞 24访问量 1068 关注 私信 ...
  • Python 数据类型及其用法

    万次阅读 2013-08-21 18:54:17
    本文总结一下Python中用到的各种数据类型,以及如何使用可以使得我们的代码变得简洁。 基本结构 我们首先要看的是几乎任何语言都具有的数据类型,包括字符串、整型、浮点型以及布尔类型。这些基本数据类型组成了...
  • 本文介绍了元祖的用法,包括括号和逗号的语法、元祖的不可变性和排序操作;介绍了文件对象,介绍了打开文件,读取文件和使用文件的方法;最后也提到了能够存储Python对象的pickle模块
  • 1.python的数值类型: (1)整形:长度不受限制; (2)浮点型:有小数点就是浮点型,否则是整形(小数点用来区分整形和浮点型); (3)e记法:科学计数法(用法如下图示例2); (4)bool:bool类型中的True...
  •   我们知道,python的变量是有类型的,对于python变量的几种类型,我们在写python时是必须要有一定的概念的。知道类型就要知道变量类型怎么存储,可是为什么python的变量不需要声明类型就可以直接赋值?变量如果有...
  • Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。通过本文给大家介绍Python检测网站链接是否已存在的相关内容,需要的朋友一起学习吧
  • Python 查看变量数据类型与数据格式

    千次阅读 2020-11-05 06:09:08
    在开始讲数据格式前,需要先梳理一下各个数据类型。我们常使用的库一般是numpy和pandas,Numpy下的核心是数组(array,ndarray),Pandas下的核心是数据框(Series,DataFrame) 先随机创一点数据用来测试 import ...
  • Python判断变量的数据类型的两种方法一、Python中的数据类型有数字、字符串,列表、元组、字典、集合等。有两种方法判断一个变量的数据类型1、isinstance(变量名,类型) 2、通过与其他已知类型的常量进行对比...
  • Python数据类型——字符串

    千次阅读 2018-08-31 22:23:52
    大家好,我是傻傻傻傻的新手,这也是第一篇博客,同时也是记录着我本人学习python之路的心理路程,本博内容仅为自己学习的体会,仅供与广大的爱好者学习交流,表达心声。别无它意!写的不好的,有误的地方,还请多多...
  • 用 type 函数   In [29]: type(dataset) Out[29]: list   查询list的行数 In [38]: len(dataset) In [39]: Out[38]: 3691
  • python学习笔记(一)数据类型

    千次阅读 多人点赞 2020-03-04 10:59:37
    Python数据类型大致可以分为以下五类: Number(数字): int(整型), bool(布尔), float(浮点数), complex(复数) String List Tuple Sets Dictionary ...
  • 本文实例讲述了python通过装饰器检查函数参数数据类型的方法。分享给大家供大家参考。具体分析如下: 这段代码定义了一个python装饰器,通过此装饰器可以用来检查指定函数的参数是否是指定的类型,在定义函数时加入...
  • python3之python的核心数据类型(其他核心类型) ---------- 到目前为止除了我们看到的核心类型外,还有其他的或许能够称得上核心类型的类型,这取决于我们定义的分类有多大。例如,集合是最近增加到这门语言中的...
  • 系列一:《python数据分析基础与...课时5数据类型 – 布尔型 课时6数据类型 – 数值型 课时7数据类型 – 字符型 课时8数据结构 – List 课时9数据结构 – Tuple 课时10数据结构 – Set 课时11 数据结构 – Dic 课时...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 92,794
精华内容 37,117
关键字:

python检测数据类型

python 订阅