1、函数
1.1、函数定义:
格式 : def 函数名():
函数体语句 (注意缩进)
1.2、函数参数
位置实参: 实参的顺序和形参的顺序一 一对应;
例如:def describ(name,age) .....
调用: describ('xx','20')
关键字实参:关键字实参 是传递给函数的名称—值对。
例如: describ(type='hamster',name='harry')
默认值 :编写函数时,可给每个形参指定默认值 。
传递列表给函数:列表传递给函数后,函数就可对其进行修改。在函数中对这个列表所做的任何修改都是永久性的,这让你能够高效地处理大量的数据。
禁止函数修改列表:将列表的副本传递给函数(列表切片[:])如:
print_models(unprinted_designs[:], completed_models)
传递任意数量的实参:
定义: def 函数名(* 形参名):
Python先匹配位置实参和关键字实参,再将余下的实参都收集到最后一个形参中。
使用任意数量的关键字实参:
接受任意数量的实参,但预先不知道传递给函数的会是什么样的信息。在这种情况下,可将函数编写成能够接受任意数量的键—值对——调用语句提供了多少就接受多少。
1.3、将函数存储在模块中
导入整个模块:要让函数是可导入的,得先创建模块。模块 是扩展名为.py的文件,包含要导入到程序中的代码。
import first
first.firstM(age='yyy', name='66a', aa='n', bb='m')
导入特定的函数: from 模块名 import 方法名1,方法名2,方法名3、
from 模块名 import * 导入所有函数
使用as 给函数、模块 指定别名 : 如果要导入的函数的名称可能与程序中现有的名称冲突,或者函数的名称太长,可指定简短而独一无二的别名 ——函数的另一个名称,类似于外号。
from pizza import make_pizza as mp #给函数别名
mp(16, 'pepperoni')
import pizza as mp #给模块别名
mp.function1(16, 'pepperoni')
函数编写指南:
应给函数指定描述性名称,且只在其中使用小写字母和下划线。
2、类
根据约定,在Python中,首字母大写的名称指的是类。这个类定义中的括号是空的
方法__init__() 是一个特殊的方法,每当实例化类时,自动调用该函数;
例子:
class Cat():
def __init__(self, name, age):
self.name = name
self.age = age
def goT(self):
print('name is:' + self.name.title())
cat = Cat('hua', '33')
cat.goT()
print('object attr:'+cat.age)
输出结果:
name is:Hua
object attr:33
调用类的方法、属性和java类似,都是:实例.属性 实例.方法
3、继承
子子类类的的方方法法__init__() :
创建子类的实例时,Python首先需要完成的任务是给父类的所有属性赋值。
例子:
class Person(object): def __init__(self, name, age): self.name = name self.age = age def goT(self): print('name is:' + self.name.title()) return self.name.title() class MyCat(Person): def __init__(self, name, age, time): super(MyCat, self).__init__(name, age) self.time = time def who_ii(x): print("-----") result = x.goT() print(result) s = MyCat('Bob', 88, 'Male') who_ii(s)
4、导入
从一个模块中导入多个类: from 模块名 import 类名1,类名2...
例如: from car import Car, ElectricCar
myCar=Car(name,age);
导入整个模块 : import 模块名
例如: import car
myCar=car.Car(name,age);
5、标准库
要创建字典并记录其中的键—值对的添加顺序,可使用模块collections 中的OrderedDict 类。
例如:
from collections import OrderedDict lag = OrderedDict() lag['a'] = 'aaa' lag['b'] = 'bb' lag['c'] = 'cc' for key, value in lag.items(): print(key+"---" + value.title())
结果:
要了解Python标准库,一个很不错的资源是网站PythonModule ofthe Week。请访问http://pymotw.com/ 并查看其中的目录,在其中找一个你感兴趣的模块进行探索,或阅读模块collections 和random 的文档。