第一周幻灯片


Python 简介

  • Python是一种开源的 、解析性的,面向对象的编程语言。


  • Python使用一种优雅的语法,可读性强


  • Python支持类和多层继承等的面向对象编程技术。


  • Python可运行在多种计算机平台和操作系统中,如各位unix,windows,MacOS,OS/2等等

使用python

  • 安装python, 请参阅:http://www.python.org


  • 运行python脚本:

  • 交互式运行(在Windows平台下有GUI界面)
    • 执行python脚本文件
    • 在Linux/UNIX环境下运行程序 。
    • 在python头部加一行:#! /usr/local/bin/python
    • chmod +x myfile.py
    • ./myfile.py (当然也可以直接以python myfile 方式执行)
      快速开始

      • 简单语句

      print “hello world”

      • 计算器

      1+1

      • 格式化字符串

      print "The total is %0.2f" %56.3598

      • 注释

      # 我是注释
      “”“ 我的注释 ”“”

      • 模块

      import sys
      sys.exit()
      Python的数据类型
      变量的定义。在python中,变量的类型是由赋给它的数值定义的。
      q = 7          #q其为数值型变量
      q = “Seven” #q为字符串型变量
      基本数据类型:字符串,整数,浮点数,虚数,布尔型。
      集合类型:列表(List),元组(Tuple),字典(Dictionary或Hash)
      Python的数据类型:列表(List)
      List的定义。
      aList = [23] 或者 bList = [1,2,3]
      List的使用。可以像c语言中数据一样引用list中的元素。
      print bList[1]
      List常用操作:append, del, + ,*, len(list)
      [0] * 5
      Python的数据类型:列表(方法)
      Table 3.3. 列表对象支持的方法(演示)
      append(x) count(x) extend(L)
      Index(x) insert(i,x) pop(x)
      remove(x) reverse() sort()
      Python的数据类型:元组(Tuple)
      Tuple的定义。
      aTuple = (1, 3, 5)
      print aTuple
      List的使用。
    • 元组可以用方括号括起下标做索引
    • 元组一旦创建就不能改变
    • 列表大部分操作同样适用于元组
      Python的数据类型:字典(Hash)
      字典是一个用大括号括起来的键值对,字典元素分为两部份,键(key)和值。字典是python中唯一内置映射数据类型。通过指定的键从字典访问值。
      字典的使用:
      a = {‘a’:’aa’, ‘b’:’bb’}
      a[‘c’]=‘cc’
      a.has_key(‘a’)
      Python的数据类型:字典(常用方法)
      字典的常用方法(演示):
      has_key(x) keys() values()
      items() clear() copy()
      update(x) get(x[,y])
      Python 控制语句 if
      Python支持三种不同的控制结构:if,for和while,不支持C语言中的switch语句。
      (1)if 语句的用法:
      if EXPRESSION1:
          STATEMENT1
      elif EXPRESSION2:
          STATEMENT2
      else:
          STATEMENT3
      Python 控制语句 for
      for语句的用法:
      mylist = "for statement"
      for word in mylist:
          print word
      else:
          print "End list"
      Python 控制语句 while
      while语句的用法:
      a = 0
      while a > 5:
          a = a + 1
          print a
      else:
          print "a's value is five"
      Python 循环中的控制语句
      循环中的控制语句
      break: 终止当前循环
      continue: 终止本次循环
      pass: 什么事都不错
      Python 函数
      函数定义:
      def function_name(arg1,arg2[,...]):
          statement
           [return value]
      函数名:
    • 函数名必须以下划线或字母开头,可以包含任意字母、数字或下划线的组合。不能使用任何的标点符号;
    • 函数名是区分大小写的。
    • 函数名不能是保留字。
      Python 函数
      作用域:Python使用名称空间的概念存储对象,这个名称空间就是对象作用的区域, 不同对象存在于不同的作用域。下面是不同对象的作用域规则:
    • 每个模块都有自已的全局作用域。
    • 函数定义的对象属局部作用域,只在函数内有效,不会影响全局作用域中的对象。
    • 赋值对象属局部作用域,除非使用global关键字进行声明。

      LGB规则
      大多数名字引用在三个作用域中查找:先局部(Local),次之全局(Global),再次之内置(Build-in)。
      Python 函数
      函数的参数的分类:
      默认参数:def function(ARG=VALUE)
      元组参数:def function(*ARG)
      字典参数:def function(**ARG)
      一些规则:
    • 默认值必须在非默认参数之后;
    • 在单个函数定义中,只能使用一个tuple参数(*ARG)和一个字典参数(**ARG)。
    • tuple参数必须在连接参数和默认参数之后。
    • 字典参数必须在最后定义。
      Python 模块
      模块:模块可把一个复杂的程序按功能分开,分别存放到不同文件中,使程序更容易维护和管理。在Python中的模块是一个以.py结尾的Python代码文件。可通过import命令输入,如:
      import sys(和c中include语句似乎相似)
      该import语句共执行三步操作:
    • 创建新的名称空间(namespace),该名称空间中拥有输入模块中定义的所有对象;
    • 执行模块中的代码;
    • 创建该名称空间的变量名。
      Python 模块
      import的使用:
      import ftplib as ftp
      from ftplib import FTP
      Python脚本与模块
      python脚本和模块都是一个以.py结束的文件,那程序是如何判断一个.py文件是作为脚本还是模块呢?关键是一个名为__name__的变量,如果它的值是__main__,则是作为脚本直接运行,否则是做为模块运行的。
      if __name__ == “__main__”:
         main()
      Python 包(package)
      我们可以把几个功能相近的模块组成一个Python包,存放到一个目录结构中,通过输入包的路径来调用对对象。
      例子:
      /WebDesign
         __init__.py
         design.py
         draw.py
      其中__init__.py是包的初始化文件,可以为空,但是必不可少的。可以以下列方式引用design模块:
      import WebDesign.design
      Python 类
      一个简单的例子:
      #!/usr/bin/python
      #-*- encoding:utf-8 -*-
      class test: #定义一个test类
         desc = "这是一个测试类。" #在类中定义一个属性desc
         def __init__(self,name1): #对象构造函数,初始化类
            self.name1 = name1
         def show(self,name2): #在类中定义一个方法show()
            print "hello world"
            print 'name1:',self.name1
            print 'name2:',name2
      obj = test(‘这是传递给name1的值’) #生成test类的实例对象
      print obj.desc #调用类中的desc属性
      obj.show('这是传递给name2的值') #调用类中的show()方法