python学习二(函数)

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 的文档。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值