1、Python基础,Eria2011/11/16,目录,函数 定义一个函数 使用函数形参 局部变量 全局变量 默认参数值 关键参数 return语句 模块 数据结构 列表 元组 字典 序列 类 创建一个类 _init_方法 _del_方法 继承,函数,定义一个函数 函数通过def关键字定义。def关键字后跟一个函数的 标识符 名称,然后跟一对圆括号。圆括号之中可以包括一些变量名,该行以冒号结尾。接下来是一块语句,它们是函数体 执行结果为:$ python function1.py Hello World!,函数,使用函数形参 参数在函数定义的圆括号对内指定,用逗号分割 执行结果为:$ pytho
2、n func_param.py 4 is maximum 7 is maximum,函数,局部变量 当你在函数定义内声明变量的时候,它们与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是 局部 的 执行结果为:$ python func_local.py x is 50 Changed local x to 2 x is still 50,函数,全局变量 如果你想要为一个定义在函数外的变量赋值,那么你就得告诉Python这个变量名不是局部的,而是 全局 的。我们使用global语句完成这一功能 执行结果为:$ python func_global.py x is 50 Cha
3、nged global x to 2 Value of x is 2,函数,默认参数值 城对于一些函数,你可能希望它的一些参数是 可选 的,如果用户不想要为这些参数提供值的话,这些参数就使用默认值。这个功能借助于默认参数值完成。你可以在函数定义的形参名后加上赋值运算符(=)和默认值,从而给形参指定默认参数值 执行结果为:$ python func_default.py Hello WorldWorldWorldWorldWorld,函数,关键参数 如果你的某个函数有许多参数,而你只想指定其中的一部分,那么你可以通过命名来为这些参数赋值这被称作 关键参数 我们使用名字(关键字)而不是位置(我们前
4、面所一直使用的方法)来给函数指定实参 执行结果为:$ python func_key.py a is 3 and b is 7 and c is 10 a is 25 and b is 5 and c is 24 a is 100 and b is 5 and c is 50,函数,return语句 return语句用来从一个函数 返回 即跳出函数。我们也可选从函数 返回一个值 执行结果为:$ python func_return.py 3,模块,定义一个模块 #!/usr/bin/python # Filename: mymodule.py def sayhi():print Hi, thi
5、s is mymodule speaking. version = 0.1 使用 #!/usr/bin/python # Filename: mymodule_demo.py import mymodule mymodule.sayhi() print Version, mymodule.version 执行结果为: $ python func_return.py 3 Python有自己的标准模块库,使用方法同上,数据结构,列表 list是处理一组有序项目的数据结构,列表中的项目应该包括在方括号中,你可以添加、删除或是搜索列表中的项目 执行结果$ python using_list.py I
6、have 4 items to purchase. These items are: apple mango carrot banana I also have to buy rice. My shopping list is now apple, mango, carrot, banana, rice I will sort my list now Sorted shopping list is apple, banana, carrot, mango, rice The first item I will buy is apple I bought the apple My shoppin
7、g list is now banana, carrot, mango, rice,数据结构,元组 元组和列表十分类似,只不过元组和字符串一样是 不可变的 即你不能修改元组。元组通过圆括号中用逗号分割的项目定义 执行结果$ python using_tuple.py Number of animals in the zoo is 3 Number of animals in the new zoo is 3 All animals in new zoo are (monkey, dolphin, (wolf, elephant, penguin) Animals brought from ol
8、d zoo are (wolf, elephant, penguin) Last animal brought from old zoo is penguin,数据结构,字典 字典类似于你通过联系人名字查找地址和联系人详细情况的地址簿,即,我们把键(名字)和值(详细情况)联系在一起。注意,键必须是唯一的 执行结果 $ python using_dict.py Swaroops address is swaroopchbyteofpython.info There are 4 contacts in the address-book Contact Swaroop at swaroopchbyt
9、eofpython.info Contact Matsumoto at matzruby-lang.org Contact Larry at larrywall.org Contact Guido at guidopython.org Guidos address is guidopython.org,数据结构,序列 列表、元组和字符串都是序列,但是序列是什么,它们为什么如此特别呢?序列的两个主要特点是索引操作符和切片操作符执行结果$ python seq.py Item 0 is apple Item 1 is mango Item 2 is carrot Item 3 is banana
10、Item -1 is banana Item -2 is carrot Item 1 to 3 is mango, carrot Item 2 to end is carrot, banana Item 1 to -1 is mango, carrot Item start to end is apple, mango, carrot, banana characters 1 to 3 is wa characters 2 to end is aroop characters 1 to -1 is waroo characters start to end is swaroop,类,创建一个类
11、 类的方法与普通的函数只有一个特别的区别它们必须有一个额外的第一个参数名称,但是在调用这个方法的时候你不为这个参数赋值,Python会提供这个值。这个特别的变量指对象本身,按照惯例它的名称是self 执行结果$ python method.py Hello, how are you?,类,_init_方法 _init_方法在类的一个对象被建立时,马上运行。这个方法可以用来对你的对象做一些你希望的 初始化 。注意,这个名称的开始和结尾都是双下划线 执行结果$ python class_init.py Hello, my name is Swaroop,类,_del_方法 _del_方法在对象消逝
12、的时候被调用,很难保证这个方法究竟在 什么时候 运行 执行结果$ python class_del.py Hello, my name is Swaroop Swaroop sys bye.,类,继承 面向对象的编程带来的主要好处之一是代码的重用,实现这种重用的方法之一是通过 继承 机制。继承完全可以理解成类之间的 类型和子类型 关系 执行结果$ python inherit.py (Initialized SchoolMember: Mrs. Shrividya) (Initialized Teacher: Mrs. Shrividya) Name:“Mrs. Shrividya“ Age:“40“ Salary: “30000“,