• Python and django(三)python中的对象


    前面的内容:

    python and Django()   准备工作

    python and Django()   走马观花识python  

    下马看花赏python--python中的对象

    语句及语法

    语句中的关键词:

    #

    注释

     

    \n

    换行

     

    \

    反斜杠

    分解过长的语句为多行

    分号

    将两个语句连接在一行中

    冒号

    将代码块的头和体分开

    赋值

        多元赋值

    >>> x,y,z=1,'abc','!@#'
    >>> x,y,z
    (
    1'abc''!@#')

        多重赋值

    >>> x=y=z=1
    >>> x,y,z
    (
    111)
    >>>

    标示符

    专用下划线标示符

    _xxx  不用'from module import *'导入

    __xxx__ 系统定义名字

    __xxx  类中的私有变量名

    模块

    合理布局


    #/usr/bin/env python          #
    起始行
    "about this module"            #模块说明,可通过module.__doc__访问
    import sys                        #
    模块导入  
    myvar = True                    #
    全局变量  
    class MyClass(obj):            #类定义  
        
    'about this Class'           #类文档,可通过class.__doc__访问  
        pass
    def myFunction():              #
    函数定义  
        
    'about this function'       #函数文档,可通过function.__doc__访问  
        obj = MyClass();
        
    if myvar:
            print 
    'hi'
    if __name__=='__main__': #主程序
        myFunction()

    内存管理

    变量无需指定类型

    内存会被自动回收

    Del显示释放资源

    >>> y=1
    >>> y
    1
    >>> del y
    >>> y
    Traceback (most recent call last):
      File 
    "<interactive input>", line 1in <module>
    NameError: name 
    'y' is not defined
    >>> 

    Python对象

    Python 使用对象模型来存储数据。构造任何类型的值都是一个对象。

        Python对象特性

    身份:对象的内存地址,使用函数id()得到该值。

    类型:使用type()查看对象的类型。

    值:对象的数据项。

        Python数据类型

    1)基本数据类型

        数字(分为几个子类型,其中有三个是整型)、整型布尔型、长整型、浮点型、复数型、字符串、列表、元组、字典

    2)其他内建类型

        类型(type)、Null对象None、文件、集合、函数、模块、类

        Type

    >>> type(23)
    <type 
    'int'>
    >>> type(
    '')
    <type 
    'str'>
    >>> type(())
    <type 
    'tuple'>
    >>> type([])
    <type 
    'list'>
    >>> type({})
    <type 
    'dict'>
    >>> type(True)
    <type 
    'bool'>
    >>> type(
    1.234)
    <type 
    'float'>
    >>> type(
    int)
    <type 
    'type'>
    >>> type(
    bool)
    <type 
    'type'>
    >>> type(type(
    23))
    <type 
    'type'>
    >>> type(type(
    ''))
    <type 
    'type'>

    >>> type(None)
    <type 
    'NoneType'>

     

    type(type(23))的类型是type所有类型对象的类型都是type,它也是所有Python 类型的根。

        None—Null对象

    None 没有什么有用的属性,它的布尔值总是False

    >>> type(None)
    <type 
    'NoneType'>
    >>> print None
    None
    >>> 
    bool(None)
    False
    >>> 

    3)内部类型

        代码、帧、跟踪记录、切片、省略、Xrange

        基本类型运算符

    1)对象值比较

    >>> 1==1
    True
    >>> 
    1>2
    False
    >>> 
    'a'>'b'
    False
    >>> [
    1,'a']==['a',1]
    False
    >>> [
    1,'a']==[1,'a']
    True
    >>> 

    2)对象身份比较 isis not

        变量是否指向同一个对象。

        Python 通过传递引用来处理对象。

    >>> a=4.8
    >>> b=a
    >>> id(a)
    14122408
    >>> id(b)
    14122408
    >>> a 
    is b
    True
    >>> a=
    4.8
    >>> b=
    4.8
    >>> id(a)
    14122456
    >>> id(b)
    14122392
    >>> a 
    is b
    False
    >>> 

        整数对象和字符串对象,会有缓存,如下:

     

    >>> a=4
    >>> b=
    4
    >>> id(a)
    3629932
    >>> id(b)
    3629932
    >>> a 
    is b
    True
    >>> a=
    'abc'
    >>> b=
    'a'+'bc'
    >>> id(a)
    19855328
    >>> id(b)
    19855328
    >>> a 
    is b
    True
    >>> 

    3bool类型运算符

    And or not

    >>> a=True
    >>> b=False
    >>> a and b
    False
    >>> a or b
    True
    >>> not a
    False
    >>> not b
    True
    >>> 

        基本类型内建函数

    type()、str()、cmp()、repr()和``

    type:得到对象类型,上面有介绍。

    cmp:比较两个对象obj1 obj2, 如果obj1 小于obj2, 则返回一个负整数,如果obj1 大于obj2 则返回一个正整数, 如果obj1 等于obj2, 则返回0

    >>> a,b=1,2
    >>> cmp(a,b)
    -
    1
    >>> cmp(b,a)
    1
    >>> b=
    1
    >>> cmp(a,b)
    0
    >>> a,b=
    'a','b'
    >>> cmp(a,b)
    -
    1
    >>> cmp(b,a)
    1
    >>> b=
    'a'
    >>> cmp(a,b)
    0

    str:生成一个对象的可读性好的字符串表示,它的返回结果通常无法用于eval()求值, 但很适合用于 print 语句输出。

    repr``:返回对象的“官方”字符串表示,绝大多数情况下可以通过求值运算(使用eval()内建函数)重新得到该对象。

    repr``输出对 Python 比较友好,而str()的输出对人比较友好。

    >>> a=str(2e10)
    >>> a
    '20000000000.0'
    >>> eval(a)
    20000000000.0
    >>> a=repr(2e10)
    >>> a
    '20000000000.0'
    >>> eval(a)
    20000000000.0
    >>> a=`2e10`
    >>> a
    '20000000000.0'
    >>> eval(a)
    20000000000.0

    在我上面的这个例子中,str也可以用eval求值。

        标准类型其他分类

    1描述

    “基本”,是指这些类型都是Python 提供的标准或核心类型。

    “内建”,是由于这些类型是Python 默认就提供的

    “数据”,因为他们用于一般数据存储

    “对象”,因为对象是数据和功能的默认抽象

    “原始”,因为这些类型提供的是最底层的粒度数据存储

    “类型”,因为他们就是数据类型

    2)存储模式

    标量/原子类型: 数值(所有的数值类型),字符串(全部是文字)

    容器类型:列表、元组、字典

    3)更新模式

    可变类型:列表,字典

    不可变类型: 数字、字符串、元组

    4)访问模式

    直接访问: 数字

    顺序访问: 字符串、列表、元组

    映射访问: 字典

    5)总

    数据类型

    存储模型

    更新模型

    访问模型l

    数字

    Scalar

    不可更改

    直接访问

    字符串

    Scalar

    不可更改

    顺序访问

    列表

    Container

    可更改

    顺序访问

    元组

    Container

    不可更改

    顺序访问

    字典

    Container

    可更改

    映射访问

        Python目前不支持类型

    char&byte

    指针:

    int vs short vs longpython中的int类似于长整型。

    float VS doublepython中的float类似于双精度。另python中有Decimal可以指定任意精度。

     

  • 相关阅读:
    (四)tensorflow-基础(数据类型,张量操作,数学运算)
    (三)tensorflow-gpu2.0之线性模型
    《莫得感情的coder》Alpha冲刺Scrum meeting 3
    《莫得感情的coder》Alpha冲刺Scrum meeting2
    《莫得感情的coder》Alpha冲刺Scrum meeting1
    实验八 团队作业4:团队项目需求建模与系统设计
    莫得感情的coder 实验七 团队作业3:团队项目需求分析与原型设计
    莫得感情的coder 实验六 团队作业2:Fit U健康管理小程序
    莫得感情的coder 实验五 团队作业1:软件研发团队组建与软件案例分析
    两台主机之间单向Ping不通的问题
  • 原文地址:https://www.cnblogs.com/tenghoo/p/Python_django_object.html
Copyright © 2020-2023  润新知