• Python数据分析——基础01


    Python数据分析——基础01

    数据类型

    • Python中的对象引用不包含附属类型。
    a = 5
    type(a) 
    # int
    
    a = 'foo'
    type(a) 
    # str
    
    • Python是强类型语言,每个对象都有明确的类型(或类)。类型转换只会发生在特定的情况下。
    '5'+ 5
    # 会出现错误,字符类型不能和数值类型相加。
    
    a = 4
    b = 2.5
    print('a is {0}, b is {1}'.format(type(a), type(b)))
    # a is <class 'int'>, b is <class 'float'>
    
    • isinstance()函数检查对象是否是某个类型的实例。
    a = 1; b = 1.2
    isinstance(a, int)
    #True
    isinstance(b, float)
    #True
    isinstance(a, bool)
    #False
    

    属性和方法

    Python的对象通常都有属性(其他存储在对象内部的Python对象)和方法(对象的附属函数可以访问对象的内部数据)。

    • obj.attribute_name访问属性和方法
    a = 'str'
    dir(a)
    # 查看a对象的属性和方法
    
    • getattr()通过名字访问属性和方法。
    getattr(a, 'format')
    # <function str.format>
    

    访问对象的名字通常称作反射

    鸭子类型

    不关心对象的类型,只关心对象是否有过某些方法或用途。通常被称为鸭子类型

    走起路来像鸭子,叫起来像鸭子,那么它就是鸭子。

    检验对象是否是列表(或是numpy数组),如果不是的话,将其转变成列表

    def isiterable(obj):
      try:
        iter(obj)
        return True
      except TypeError:
        return False
    if not isinstance(x, list) and isiterable(x):
      x = list(x)
    

    运算符

    • 判断两个引用是否指向同一个对象,可以使用is 方法,is not可以判断两个对象是不同的。
    • isis not可以判断一个变量是否为None
    a = [1,2,3]
    b = a  
    c = list(a) # 新创建一个list
    
    a is b
    # True
    a is not c
    # True
    a == c
    # True
    
    d = None
    d is None
    # True
    

    可变与不可变对象

    • Python中列表、字典、numpy数组和用户定义的类型(类),都是可变的。这些对象或包含的值是可以被修改的。
    • Python中的字符串和元组是不可以变的。
  • 相关阅读:
    There is an overlap in the region chain修复
    There is an overlap in the region chain
    region xx not deployed on any region server
    python 中的re模块,正则表达式
    TCP粘包问题解析与解决
    yield from
    Git push提交时报错Permission denied(publickey)...Please make sure you have the correct access rights and the repository exists.
    mysql 中Varchar 与char的区别
    Mysql 字符集及排序规则
    请实现一个装饰器,限制该函数被调用的频率,如10秒一次
  • 原文地址:https://www.cnblogs.com/mephisto03/p/12293220.html
Copyright © 2020-2023  润新知