上图为一"/>

python基础知识,,一、python执行


一、python执行过程

技术分享

上图为一个python代码的执行流程。首先,源代码需要以.py结尾,经过编译器生成一系列的字节码,其生成的字节码是以.pyc结尾的文件;之后经过语义解释器输入到执行器中执行程序。

一个Python程序可以分解为模块、语句、表达式和对象四个部分。其中,程序由模块构成、模块包含语句、语句包含表达式、表达式建立并处理对象。python是一门面向对象的语言,其主要特点是:以数据为中心,所有处理代码都围绕数据结构展开;主要方法是如何设计数据结构,并提供对此数据所允许的操作。而面向过程的特点为:以指令为中心, 由指令处理数据,主要解决的是如何组织代码解决问题(如C语言)。

二、python的对象引用(变量)

python将所有数据存为内存对象,变量就是指内存对象的引用。python中的变量是动态类型,即在任何时刻,某个对象的引用都可以重新引用一个不同的对象(可以是不同的数据类型)。

In[32]:a=[1,2,3,4,5]In[33]:type(a)#此时变量a的类型为列表Out[33]:listIn[34]:a=(1,2,3,4)In[35]:type(a)#重新赋值后,a的类型变成了元组Out[35]:tuple

使用内建函数type()可以返回给定数据的数据类型。"="用于将变量名与内存中的某对象绑定。

变量的命名规则

只能包含字母、 数字和下划线, 且不能以数字开头; 区分大小写; 禁止使用保留关键字。

命名的惯例

以单一下划线开头变量名(_x)不会被 from module import 语句导入; 前后有下划线的变
量名(__x__)是系统定义的变量名, 对 python 解释器有特殊意义; 以两个下划线开头但是结
尾没有下划线的变量名(__x)是类的本地变量; 交互模式下, 变量名”_”用于保存最后表达式
的结果; 变量名没有类型, 对象才有。

三、数据类型

数据结构:通过某种方式(例如对元素)进行编号组织在一起的数据元素的集合。

python常用数据类型

序列类型:

列表:使用[]创建,如:[‘hello‘,‘world‘,‘mylinux‘]可变序列

元组:使用()创建,如:(‘one‘,‘tow‘,‘three‘) 不可变序列
字符串:也属于序列类型 不可变序列

集合类型:集合set、frozenset(不可变集合)

映射类型:字典dict,使用{}创建,如{‘a‘:b}

组合数据类型也是序列, 因此可以嵌套。 列表和元组不是真正存储数据, 而是存放对象引用;

Python 对象可以具有其被调用的特定方法(函数); 元组、 列表以及字符串等数据结构,其长度可以使用内置函数 len()测量。

逻辑操作符:

Python 提供了 4 组逻辑运算
身份操作符:
is:判定左端对象引用是否相同于右端对象引用, 也可以与 NONE 进行
比较操作符:<,>,<=,>=,!=,==
成员操作符:in 或 not in : 测试成员关系
逻辑运算符:and,or,not

四、输入/输出

对于输入输出,python2.x与python3.x中有所不同。在python2中输入有两个函数:input()和raw_input(),而输出使用的是print语句。raw_input()输入的是数值,而使用input()输入时使用的是变量,当输入变量为定义时会报错。python2.x中输出语句的格式:

Print “string %format1 %format2 ...” %(variable1,variable2,...)
格式:%[(name)] [flags] [width] [.precision] typecode

name位于括号中的一个属于后面的字典的键名, 用于选出一个具体项

flag下面标志中的一个或多个
-: 左对齐, 默认右对齐;+:包含数字符号, 整数也会带"+";O:表示一个零填充
width指定最小宽度的数字
一个小数点, 用于按照精度分割字段的宽度
precision指定要打印字符串中的最大字符个数, 浮点数中小数点之后的位数,或者整数的最小位数。

>>>raw_input("pleaseinput:")pleaseinput:a#输入值a‘a‘>>>input("pleaseinput:")pleaseinput:a#输入的为变量a,此时a未定义报错Traceback(mostrecentcalllast):File"<stdin>",line1,in<module>File"<string>",line1,in<module>NameError:name‘a‘isnotdefined>>>a=‘1234‘#定义变量a,输入>>>input("pleaseinput:")pleaseinput:a‘1234‘#取得的结果为a所对应的值

在python3.x中使用input()函数作为输入,输入为值,print()函数作为输出。

In[37]:input("pleaseinput:")#等同于python2.x中的raw_input()函数pleaseinput:aOut[37]:‘a‘

五、语句和语法

注释:#, 可以从一行的任何地方开始
续行:\ ‘‘‘: 闭合操作符, 单一语句跨多行
代码组:缩进相同的一组语句构成的代码块;首行以关键字开始, 如 if、 while 等, 以冒号结束
Python 使用缩进来分隔代码组, 同一代码组的代码行必须严格左右对齐
同一行放置多个语句:以分号作为分隔符
模块:每一个 python 脚本文件都可以被当作一个模块;模块里的代码可以是一端直接执行的脚本, 也可以是一些类似库函数的代码从而可由别的模块执行导入( import)。

六、主程序

主程序:无论当前模块是被别的模块导入还是作为脚本直接执行, 都会执行的代码部分 。

所有模块都有能力执行代码:最高级倍的 python 语句(没有缩进的)在模块被导入时就会执行;妥当的做法: 除了那些真正需要执行的代码以外, 所有功能代码都通过函数建立;因此仅在主程序模块中编写大量的顶级可执行代码; 用于被导入的模块只应该存在少量顶级可执行代码。

__name__指示模块应该被加载:如果模块是被导入, __name__的值是模块名字; 如果模块是直接执行, __name__的值是’__main__’。

获取帮助文档的方式:
获取对象支持使用的属性和方法: dir()
某方法的具体使用帮助: help(list.pop)
获取可调用对象的文档字串: print obj.__doc__



本文出自 “随风而飘” 博客,请务必保留此出处http://yinsuifeng.blog.51cto.com/10173491/1900628

python基础知识

评论关闭