首页 > 编程语言 > 详细

python基础知识

时间:2017-02-23 23:02:32      阅读:189      评论:0      收藏:0      [点我收藏+]

一、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]: list
In [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("please input:")
please input:a              #输入值a
‘a‘
>>> input("please input:")            
please input:a              #输入的为变量a,此时a未定义报错
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 1, in <module>
NameError: name ‘a‘ is not defined
>>> a=‘1234‘                #定义变量a,输入
>>> input("please input:")
please input:a
‘1234‘                      #取得的结果为a所对应的值

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

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

五、语句和语法

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

六、主程序

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

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

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

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


    

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

python基础知识

原文:http://yinsuifeng.blog.51cto.com/10173491/1900628

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!