python的几个常提及到的概念
一、函数
函数是有组织的,可重复使用的代码,用于执行一个单一的,相关的动作的块。函数为应用程序和代码重用的高度提供了更好的模块。正如我们知道的,Python的print()等许多内置函数,但也可以创建自己的函数。这些函数称为用户定义函数。
(1)定义一个函数
可以定义函数,以提供所需的功能。下面是简单的规则来定义Python函数。
函数块以开始关键字def后跟函数名和括号中(())。
任何输入参数或参数应该放在这些括号内。还可以定义这些括号内的参数。
函数的第一个语句可以是一个可选的声明 - 该函数或文档字符串的文档字符串。
每个函数中的代码块以冒号(:)开头并缩进。
该语句返回[表达式]退出功能,可选地传递回一个表达式给调用者。不带参数return语句返回None。
语法:
def functionname( parameters ):"function_docstring"function_suitereturn [expression]默认情况下,参数具有一个位置的行为和需要,它们被定义为通知他们以相同的顺序。
例子:
这是最简单的Python函数形式。这个函数接受一个字符串作为输入参数,并打印标准的屏幕上。def printme( str ):"This prints a passed string into this function"print strreturn
(2)
调用函数
定义一个函数只给出它的名称,指定要被包括在功能和结构的代码块的参数。一旦函数的基本结构确定后,可以通过从其他函数或直接从Python提示符调用它执行它。以下是示例调用printme()函数:#!/usr/bin/python# Function definition is heredef printme( str ):"This prints a passed string into this function"print str;return;# Now you can call printme functionprintme("I'm first call to user defined function!");printme("Again second call to the same function");当执行上面的代码中,产生以下结果:I'm first call to user defined function!Again second call to the same function
二、模块
一个模块可以在逻辑上组织Python代码。将相关的代码到一个模块中,使代码更容易理解和使用。模块是可以绑定和借鉴任意命名属性的Python对象。
(1)
简单地说,一个模块是由Python代码的文件。一个模块可以定义函数,类和变量。模块还可以包括可运行的代码。
例子:Python代码的模块名为aname通常位于一个名为aname.py。下面是一个简单的模块,support.py作为例子def print_func( par ):print "Hello : ", parreturn
(2)
引用模块
import语句:可以通过在其他一些Python源文件执行import语句来使用任何Python源文件作为一个模块。import的语法如下:import module1[, module2[,... moduleN]当解释器遇到import语句,它导入(import)模块如果模块出现在搜索路径。搜索路径是一个目录列表,该解释器导入模块之前搜索。例如,导入模块hello.py,需要把下面的命令在脚本的顶部:#!/usr/bin/python# Import module supportimport support# Now you can call defined function that module as followssupport.print_func("Zara")当执行上面的代码,产生以下结果:Hello : Zara
注:一个模块被加载一次,不管导入的次数。这可防止模块执行发生多次导入.
三、类
Python是面向对象的语言。
如果没有任何以往面向对象(OO)的编程的经验,那么可能要了解一些基本的入门课程就可以了,或者至少某种形式的教程,让你有了解基本概念。
但是,这里会比较少地介绍面向对象编程(OOP):
(1)
OOP术语概述:
类: 用户定义的原型对象,它定义了一套描述类的任何对象的属性。属性是数据成员(类变量和实例变量)和方法,通过点符号访问。类变量:这是一个类的所有实例共享的变量。类变量在类,但外面的任何类的方法定义。类变量不被用作经常作为实例变量。数据成员:保存与类和对象关联的数据的类变量或实例变量。函数重载:一个以上的行为特定功能的分配。执行的操作所涉及的对象(自变量)的类型不同而不同。实例变量:所定义的方法内,只属于一个类的当前实例的变量。继承:类的特点,即都是由它派生其他类的转移。实例:某一类的一个单独对象。属于类Circle一个obj对象,例如,是类Circle的一个实例。实例化:创建一个类的实例。Method : 一种特殊的函数,函数在类定义中定义。对象:这是由它的类中定义的数据结构的唯一实例。一个对象包括两个数据成员(类变量和实例变量)和方法。运算符重载:一个以上的函数功能,特定的操作符分配。
(2)创建类:
类语句将创建一个新的类定义。类的名称紧跟在关键字class后跟一个冒号,如下所示:class ClassName:'Optional class documentation string'class_suite类有一个文档字符串,它可以通过类名.__ doc__访问。class_suite由所有定义的类成员,数据属性与函数组件的语句。
例子
下面是一个简单的Python类的例子:class Employee:'Common base class for all employees'empCount = 0def __init__(self, name, salary):self.name = nameself.salary = salaryEmployee.empCount += 1def displayCount(self):print "Total Employee %d" % Employee.empCountdef displayEmployee(self):print "Name : ", self.name, ", Salary: ", self.salaryempCount是一个类变量,其值将是这个类的所有实例共享。这可以从类中或外部进行访问,访问形式为employee.empCount。 第一个方法__init__()是一种特殊的方法,这就是所谓的类构造函数或当创建该类的一个新实例Python调用的初始化方法。 声明就像正常函数中一样,不同的是第一个参数到每个方法是类的方法。 Python增加了self参数列表;不需要把调用的方法都它列入。
(3)创建实例对象:
要创建一个类的实例,调用类名并传递任何参数给__init__方法接收。"This would create first object of Employee class"emp1 = Employee("Zara", 2000)"This would create second object of Employee class"emp2 = Employee("Manni", 5000)访问属性:可以访问使用点运算符来访问对象的属性。而类变量使用类名来访问,如下所示:emp1.displayEmployee()emp2.displayEmployee()print "Total Employee %d" % Employee.empCount
四、集合
1、 集合(set):把
不同的元素
组成一起形成集合。
集合对象是一组无序排列的可哈希的值:集合成员可以做字典的键
2、分类:可变集合、不可变集合
可变集合(set):可添加和删除元素,非可哈希,不能作字典的键,也不能作其他集合的元素。
不可变集合
(frozenset):与上面恰恰相反
3、创建集合:
集合没有自己的语法特点,只能通过集合的工厂方法set()和frozenset()创建
4、访问集合
由于集合本身是无序的,所以不能为集合创建索引或切片操作,只能循环遍历或使用in、not in来访问或判断集合元素。