美文网首页
7.python的函数

7.python的函数

作者: tomtiddler | 来源:发表于2018-10-01 09:22 被阅读0次

认识函数

help() 查看内部函数的帮助
import this 查看python之禅

特性:
1.功能性
2.隐藏细节
3.避免编写重复的代码
次要特性:组织代码 -> 面向对象更合理

函数的定义及运行特点:

函数的基本结构

def func(**param):
    pass
  1. 参数列表可以没有
    2.return 用来返回函数返回值
  2. 函数需要调用才会起作用
  3. 函数调用需要在定义之后
    函数的取值根据顺序来决定,主要是位置参数、还有可变参数,命名关键词参数,关键词参数。
python设置最大递归层数
import sys
sys.setrecursionlimit(10000) 

循环实现的fab数列,递归也能实现,而且更简单。
廖雪峰--递归与尾递归--汗诺塔

# 递归函数 -- 别人写的汗诺塔
class Tower(object):
    def __init__(self):
        self.counter = 0

    def hanoi(self, n, org, aux, dst):
        if n == 1:
            self.counter += 1
            print('{0}->{1}'.format(org, dst))
        else:
            self.hanoi(n - 1, org, dst, aux)
            self.hanoi(1, org, aux, dst)
            self.hanoi(n - 1, aux, org, dst)

def homework(*args):
    tower = Tower()
    print('移动步骤如下:')
    tower.hanoi(*args)
    print('总共移动次数为: {0}'.format(tower.counter))

homework(100,'a','b','c')  # 100基本算不出来,10还差不多

如何让函数返回多个结果

def damage(skill1, skill2):
    return skill1*3, skill2*3  # 默认返回值为tuple

print(damage(1, 2))  
#获取返回结果的正确方法
# 序列解包
skill1_damage, skill2_damage = damage(1, 2)
#不推荐通过索引获取,会造成可读性变差

序列解包和链式调用

d = 1, 2, 3 序列
a, b, c = d 类似这种的赋值形式就是序列解包,解包的变量个数要和序列数相等,否则会报错。
a = b = c = [1, 2] 链式调用,会同id。

必须参数与关键字参数

必须参数:位置参数,必须要传入。
形参、实参的概念。
通过关键字参数没必要通过位置参数顺序调用函数。指定参数给哪个形参。
必须参数和关键字参数的区别主要在调用上,定义上没区别。

默认参数

从而使参数不是必须输入的。

相关文章

  • Python闭包函数和装饰器

    2018年7月2日笔记 7.Python函数对象和闭包 1.函数对象 函数是对象,可以给函数增加属性 上面一段代码...

  • 7.Python函数

    1.定义一个函数 定义一个函数需要5个部分: def告诉Python,用户在自定义函数 function_name...

  • 7.python的函数

    认识函数 help() 查看内部函数的帮助import this 查看python之禅 特性:1.功能性2.隐藏细...

  • 7.python装饰器

    一、装饰器 在python中,作用域分为两种:全局作用域和局部作用域。 全局作用域是定义在文件级别的变量,函数名。...

  • 7.Python中的运算符

    1.if运算符 1.1语法格式 形式一: if 条件: xxx 形式二: if 条件: xxxelse: x...

  • 7.Python编程:数据类型

    Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。在 Python 中,...

  • 7.Python读取yaml文件封装

    yaml读取文件封装 yaml文件读取封装,需要传入文件参数来获取文件数据 yaml基础知识 yaml支持的数据类...

  • 7.Python中Unicode字符串

    字符串还有一个编码问题。 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。 最早的计算机...

  • 7.Python编程之计算思维的概念

    计算思维的概念 1.生活中计算思维的应用 计算思维的本质 计算机模拟解决问题 示例:体育竞技分析

  • 7.Python基础语法---03变量与常量

    变量 变量的概念基本上和初中代数的方程变量是一致的,只是在计算机程序中,变量不仅可以是数字,还可以是任意数据类型。...

网友评论

      本文标题:7.python的函数

      本文链接:https://www.haomeiwen.com/subject/tlcinftx.html