一、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引用传递和值传递(函数传值)
说明:可变对象为引用传递,不可变对象为值传递
引用传递:传递列表或者字典时,如果改变引用的值,就修改了原始的对象
2.1.4深拷贝和浅拷贝
浅拷贝:语法:copy.copy(),浅拷贝是创建了一个和原对象一样的类型,但是其内容是对原对象元素的引用。
深拷贝:语法:copy.deepcopy(),在内存中将所有的数据重新建立一份。
变量的本质:在内存中开辟了一块空间,其中存储了指定类型的数据【实体(对象)存储在堆中,变量(引用)存储在栈空间中
2.2基本数据类型
Python中常用的数据类型有:整型(int)、浮点型(float)、字符串(string)、空值(None)、布尔值(True和False)、复数、类、函数等
Python中常量的命名规则使用变量名为全大写为常量
变量的命名遵循标识符的命名规则
2.3关键字、标识符和内置函数
1、关键字:在Python中被赋予了特殊含义的英文单词
Python中的关键字的查看使用keyword模块
2.4Python运算符
2.4.1算术、赋值运算符:
**:求幂运算
//:整除运算或者成为地板除
%:取余运算
常用算数运算符的优先级:** > * > / // % > + -
赋值运算符:=
复合运算符:+=、-= 、*= 、/=
关系比较:==、!=、>=、<=等
浙公网安备 33010602011771号