>  기사  >  백엔드 개발  >  Python 객체 유형에 대한 자세한 소개

Python 객체 유형에 대한 자세한 소개

零下一度
零下一度원래의
2017-07-19 16:27:322226검색

, Python의 경우 모든 것이 개체입니다. 프로그램에 저장된 모든 데이터는 컴퓨터 기반 생성을 기반으로 하는 값보다 훨씬 더 많이 처리될 수 있습니다. 데이터, 다른 데이터 유형을 정의해야 합니다.

class는 사용자 정의 유형을 의미하고, 유형은 내장 유형을 의미합니다. 둘 다 데이터 유형을 나타내며 이름이 다릅니다.
각 객체에는 ID, 유형 및 값이 있습니다. ID는 메모리 내 객체 위치(메모리 내 주소)에 대한 포인터를 나타냅니다. ()는 객체의 ID를 반환할 수 있습니다. 변수 이름은 이 특정 위치를 가리키는 이름입니다
인스턴스화: 특정 유형의 객체를 생성합니다
인스턴스가 생성된 후에는 ID와 유형을 변경할 수 없습니다.
객체 값을 수정할 수 있는 경우 이를 mutable이라고 합니다. object
객체 값을 수정할 수 없는 경우 가변 객체라고 합니다. 불변 객체입니다.
컨테이너: 객체에는 목록과 같은 다른 객체에 대한 참조가 포함됩니다.
Python은 개체의 유형에 따라 개체가 참여할 수 있는 작업이나 지원하는 메서드가 결정됩니다. 즉, 메서드가 클래스에 존재하고 개체의 함수가 모두 클래스에 있습니다. .
대부분의 객체에는 수많은 고유한 데이터 속성과 메소드가 있습니다.
속성: 변수 이름과 같이 객체와 관련된 값
메소드: 호출될 때 객체에 대해 특정 작업을 수행하는 함수

Python은 유형을 자주 사용합니다.

1. 내장 메소드
2. 구문 설탕, 자동 터치 메소드

Python 객체 유형 및 해당 연산

基本要点:
    程序中储存的所有数据都是对象(可变对象:值可以修改   不可变对象:值不可修改)
    每个对象都有一个身份、一个类型、一个值
        例:
            >>> a1 = 'abc'
            >>> type(a1)
            str
                创建一个字符串对象,其身份是指向它在内存中所处的指针(在内存中的位置)
                a1就是引用这个具体位置的名称
                使用type()函数查看其类型
                其值就是'abc'
     自定义类型使用class
     对象的类型用于描述对象的内部表示及其支持的方法和操作
     创建特定类型的对象,也将该对象称为该类型的实例,实例被创建后,其身份和类型就不可改变
     容器:某对象内包含对其它对象的引用
     
     对象拥有特有的数据属性和方法,使用点运算符调用
            数据:变量
            方法:函数
1) 객체의 ID 및 유형

两个对象比较:
    1、值比较:对象中的数据是否相同;
    2、身份比较:两个变量名引用的是否为同一对象;
    3、类型比较:两个对象的类型是否相同;
注意:
    内置函数id()可返回对象的身份即在内存中的位置
    is比较两个对象的身份
    type()返回对象的类型

        例:
            >>> num1 = 5
            >>> num2 = 6
            >>> num1 == num2                值比较
            False                   
            >>> num1 is num2                身份比较
            True
            >>> type(num1) is type(num2)    类型比较
            True
2) 핵심 데이터 유형

    数字:int, long, float, complex(复数), bool
    字符:str, unicode
    列表:list
    字典:dict
    元组: tuple
    文件:file
    其它类型:集合(set), frozenset, 类类型, None
3) 유형 변환

        str(), repr()或format():将非字符型数据转换为字符;
        int():                   转为整数
        float():                 转为浮点数
        list(s):                 将字串s转为列表
        tuple(s):                将字串s转为元组
        set(s):                  将字串s转为集合
        frozenset(s):            将字串s转换为不可变集合;
        dict(d):                 创建字典;其d必须是(key, value)的元组序列

例:
    >>> str1 = 'hello,fanison'
    >>> list(str1)
    ['h', 'e', 'l', 'l', 'o', ',', 'f', 'a', 'n', 'i', 's', 'o', 'n']
    >>> tuple(str1)
    ('h', 'e', 'l', 'l', 'o', ',', 'f', 'a', 'n', 'i', 's', 'o', 'n')
    >>> set(str1)
    set(['a', 'e', 'f', 'i', 'h', 'l', 'o', ',', 's', 'n'])       特别注意!!!去重
    >>> l1=[('a',1),('b',2),('c',3)]
    >>> list(l1)
    {'a': 1, 'c': 3, 'b': 2}
    
补充例题:
        >>> a = 'ABC'
        >>> b = a
        >>> a = 'XYZ'
        >>> print a  b
        'XYZ'  'ABC'
    图解过程

Python 객체 유형에 대한 자세한 소개

4) 숫자 유형 연산

    5种数字类型:整型、长整型、浮点型、复数、布尔型
    所有数字类型均不可变
        >>> a = 10    # 整型 
        >>> b = 1.5   # 浮点型
        >>> c = True  # 布尔型
        >>> d = 5+2j  # 复数
        例:
            >>> 1 + 2    
            3
            >>> 1.0 + 2
            3.0
            >>> 11 % 4    
            3
            >>> 11.0 / 4     
            2.75
            整数和浮点数混合运算的结果是浮点数

Python 객체 유형에 대한 자세한 소개

5) 불리언 유형

    bool(布尔型)之所以属于数字类型,是因为bool是int的子类。
            >>> int(True)
            1
            >>> int(False)
            0
            >>> bool(1)
            True
            >>> bool(-1)
            True
            >>> bool(0)
            False
        结论:
            bool 转 int时, Ture-->1, False-->0
            int 转 bool时, 非0-->True, 0-->False
    
    与运算:只有两个布尔值都为 True 时,计算结果才为 True。        
        >>> True and True   
        True
        >>> True and False
        False
        >>> False and True
        False
        >>> False and False
        False
    或运算:只要有一个布尔值为 True,计算结果就是 True。        
        >>> True or True
        True
        >>> True or False
        True
        >>> False or True
        True
        >>> False or False
        False
    非运算:把True变为False,或者把False变为True:        
        >>> not True
        False
        >>> not False
        True
    
    注意:1、任何非0数字和非空对象都为真;
          2、数字0、空对象和特殊对象None均为假;
    
    and 和 or 运算的一条重要法则:短路计算。
            1. 在计算 a and b 时,如果 a 是 False,则根据与运算法则,整个结果必定为 False,因此返回 a;如果 a 是 True,则整个计算结果必定取决与 b,因此返回 b。    
            2. 在计算 a or b 时,如果 a 是 True,则根据或运算法则,整个计算结果必定为 True,因此返回 a;如果 a 是 False,则整个计算结果必定取决于 b,因此返回 b。   
            所以Python解释器在做布尔运算时,只要能提前确定计算结果,它就不会往后算了,直接返回结果。
    例:
       >>> a = 'python'
       >>> print 'hello,', a or 'fanison'
       hello,python
       >>> b = ''
       >>> print 'hello,', b or 'fanison'
       hello,fanison

위 내용은 Python 객체 유형에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.