• 开发报告5


         今天学习了Python的基础知识,为开学的考试做准备;

    一、Python概述:

    1.1、Python的特点:

    1、Python是一门面向对象的语言,在Python中一切皆对象

    2、Python是一门解释性语言

    3、Python是一门交互式语言,即其在终端中进行命令编程

    4、Python是一门跨平台的语言【没有操作系统的限制,在任何操作系统上都可以运行Python代码】

    5、Python拥有强大和丰富的库,又被称为胶水语言,能把其他语言(主要c/c++)写的模块很轻松的结合在一起

    1.2、Python的优缺点:

    1、优点:

    a、易于维护和学习

    b、广泛的标准库【提供了大量的工具】

    c、可扩展性

    d、Python对于大多数据库都有相应的接口【Mysql、sqlites3、MongoDB、Redis等】

    e、支持GUI编程【图形化界面】

    f、语法简单,易于学习

    2、缺点:

    a、和C语言相比较Python的代码运行速度慢

    b、代码无法加密

    1.3、Python代码的执行过程:

    大致流程:源码编译为字节码(.pyc)----->Python虚拟机------->执行编译好的字节码----->Python虚拟机将字节码翻译成相对应的机器指令(机器码)。

    Python程序运行时,先编译字节码并保存到内存中,当程序运行结束后,Python解释器将内存中的字节码对象写到.pyc文件中。

    第二次再运行时,先从硬盘中寻找.pyc文件,如果找到,则直接载入,否则重复上面过程。

    优点:不重复编译,提高执行效率

    二、Python中的基础语法:

    2.1、Python中变量在内存中的存储

    2.1.1引用和对象:

    对象:当创建数据对象时,在内存中会保存对象的值,这个值就是对象自己;

    引用:对象保存在内存空间,外部想要使用对象的值,就需要使用引用来操作对象。内存中会保存对象引用的数量,当某个对象的引用为0时,对象会被回收。

    2.1.2可变数据类型和不可变数据类型

    a、数据分类:

    可变数据对象:列表(list)和字典(dict)

    不可变数据对象:整型(int)、浮点型(float)、字符串(string)和元组类型(tuple)

    注:此处的可变和不可变,是指内存中的对象(Value)是否可以改变,对于不可变类型的对象,在对对象操作的时候,必须在内存中重新申请一块新的区域,即重新给一个新的地址用于存储;对于可变类型的对象,在对对象操作的时候,并不会重新申请新的地址,而是在该对象的地址后面继续申请即可,即address并不会改变,而是address的区域的大小会变长或变短。

    不可变数据类型:对象本身的值不可变,如果改变了变量的值,相当于新建了一个对象,而对于相同值的对象,在内存中只有一个对象。

    可变数据类型:允许变量的值进行改变,对于变量给值的过程中,只是改变了变量的值,而不会新建一个对象,所以可变数据类型的意思就是说对一个变量进行操作时,其值是可变的,值的变化并不会引起新建对象,即地址是不会变的,只是地址中的内容变化了或者地址得到了扩充。,不过对于相同的值的不同对象,在内存中则会存在不同的对象,即每个对象都有自己的地址,相当于内存中对于同值的对象保存了多份,这里不存在引用计数,是实实在在的对象

    2.1.3引用传递和值传递(函数传值)

    说明:可变对象为引用传递,不可变对象为值传递

    引用传递:传递列表或者字典时,如果改变引用的值,就修改了原始的对象

      def check(l):
    print(l)
    print(id(l))
    l.append([1, 23, 2, 3, 4])
    return l
    l = [1, 2, 3, 4]
    print(check(l))
    print(id(l))

    '''
    [1, 2, 3, 4]
    2902500909320
    [1, 2, 3, 4, [1, 23, 2, 3, 4]]
    2902500909320
    '''

    值传递:当传递不可变对象时,如果改变引用变量的值,只是创建了不同的对象,原始对象并没有改变。

      def check(s):
    print(s)
    print(id(s))
    s = "i am test"
    print(id(s))
    return s
    s = "This is a test"
    print(check(s))
    print(s)

    '''
    This is a test
    2418424029424
    2418424029488
    i am test
    This is a test
    '''
    2.1.4深拷贝和浅拷贝

    浅拷贝:语法:copy.copy(),浅拷贝是创建了一个和原对象一样的类型,但是其内容是对原对象元素的引用。

    深拷贝:语法:copy.deepcopy(),在内存中将所有的数据重新建立一份。

    变量的本质:在内存中开辟了一块空间,其中存储了指定类型的数据【实体(对象)存储在堆中,变量(引用)存储在栈空间中

    2.2基本数据类型

    Python中常用的数据类型有:整型(int)、浮点型(float)、字符串(string)、空值(None)、布尔值(True和False)、复数、类、函数等

    Python中常量的命名规则使用变量名为全大写为常量

    变量的命名遵循标识符的命名规则

    2.3关键字、标识符和内置函数

    1、关键字:在Python中被赋予了特殊含义的英文单词

    Python中的关键字的查看使用keyword模块

      import keyword as key
    key.kwlist
    '''
    ['False','None','True','and','as','assert','break','class','continue','def','del','elif','else','except','finally','for','from','global','if','import','in','is','lambda','nonlocal','not','or','pass','raise','return','try','while','with','yield']
    '''

    2、标识符的命名规则:标识符的命名构成:数字、字母、下划线,但不能以数字开头,在标识符的命名中严格区分大小写

    命名规范:

    Python官方:所有单词全部小写,不同单词之间使用下划线分割,普遍是用驼峰命名法(小驼峰与大驼峰)

    3、内置函数:

      import sys
    dir(sys.modules['__builin__'])

    内置函数表;

  • 相关阅读:
    iBatis系列一
    iBatis入手案例
    需求分析7字诀
    自我意识为王
    物联网关键技术之一
    物联网之二:传感器无线网络
    物联网之二:传感器无线网络
    物联网时代之一
    项目经理的心法
    项目管理规划
  • 原文地址:https://www.cnblogs.com/2940500426yingxin/p/13454784.html
Copyright © 2020-2023  润新知