资讯专栏INFORMATION COLUMN

python基础-函数

stonezhu / 779人阅读

摘要:描述函数是抽象的第一步函数多是为了实现特定功能的代码的集合需要考虑的是函数的参数函数的功能函数的返回值的函数参数传递默认是引用传递建议不要直接修改传入对象定义函数标准的定义和调用文档这是函数的文档切记写函数文档打印文档空函数多返回值函

描述

函数是抽象的第一步

函数多是为了实现特定功能的代码的集合
需要考虑的是:
    函数的参数
    函数的功能
    函数的返回值
python的函数 参数传递默认是引用传递

建议不要直接修改传入对象

def my_power(x, n=2):
    while n > 0
        a = x * a
        n = n - 1
    return a
my_power(3)

定义函数

标准的定义和调用

#文档
def my_abs(x):
    "这是my_abs函数的文档"
    if x > 0:
        return x
    else
        return -x
a = my_abs(-5)
print(a)
#切记写函数文档
print(my_abs.__doc__) #打印文档

空函数

def empty_fun():
    pass

多返回值

函数参数

位置参数 默认参数

#计算1到任意值相加的和
def my_add(b=10):
    sum = 0
    while b > 0:
        sum = sum + b
        b = b - 1
    return sum
my_add()

可变参数

#传入参数的个数是可变的 比传入数组要高级
def calc(*numbers):
    sum = 0
    for n in numbers:
        sum = sum + n * n
    return sum
calc(1,2,4,3)
nums = [1,2,3,4]
calc(*nums)
nums = (1,2,3,4)
calc(*nums)
#类型转换 实现可变的tuple
a = (1,2,3,4)
def changes(position, v, *a):
    b = list(a)
    position = int(position)
    b[position] = v
    c = tuple(b)
    return c
c = changes(3, 5, *a)
print(c)
#**和*,猩猩是字典,星是元组

关键字参数

# 传入多个含有参数名的参数 会在内部自动组装成一个字典
def person(name, age, **k):
    #print("name:", name, "age:", age, "k:", k);
    print("name is %s age is %d "%(name,age))

person("mengyaun", 15, city="河南", sex=1)
dit = {"city"="河南", "sex"=1}
person("mengyuan", 15, **dit)

命名关键字参数

# 可以说是对关键字参数的一种改进 添加限制不能随意传入
def person(name, age, *, city, sex):
    print("name is %s age is %d city is %s sex is %d"%(name,age, city, sex))

person("mengyaun", 15, city="河南", sex=1)

# 如果有可变参数就不用再加*
def person(name, age, *args, city, sex):
    print("name is %s age is %d city is %s sex is %d"%(name,age, city, sex))

#person("mengyaun", 15, city="河南", sex=1)
person("mengyaun", 15, "河南", 1) # error

# 可以有默认值

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/43639.html

相关文章

  • Python爬虫学习路线

    摘要:以下这些项目,你拿来学习学习练练手。当你每个步骤都能做到很优秀的时候,你应该考虑如何组合这四个步骤,使你的爬虫达到效率最高,也就是所谓的爬虫策略问题,爬虫策略学习不是一朝一夕的事情,建议多看看一些比较优秀的爬虫的设计方案,比如说。 (一)如何学习Python 学习Python大致可以分为以下几个阶段: 1.刚上手的时候肯定是先过一遍Python最基本的知识,比如说:变量、数据结构、语法...

    liaoyg8023 评论0 收藏0
  • 从能做什么到如何去做,一文带你快速掌握Python编程基础与实战

    摘要:本文的分享主要围绕以下几个方面能做什么常见应用场景介绍如何学习语法基础实战面向对象编程实战练熟基础小游戏项目的实现与实战一能做什么一种编程语言往往可以应用于多方面,有些方面比较常用,有些方面极为常用。比如表示是一个空列表。 摘要:Python语言的教程虽然随处可见,但是忙于日常业务/学习的你或许:一直想要找个时间学一点,但是又不知道该从何下手?本文将从Python能做什么,如何学习Py...

    BLUE 评论0 收藏0
  • Python 基础概览

    摘要:通过函数名作为其的参数就能得到相应地帮助信息。类是面向对象编程的核心,它扮演相关数据及逻辑的容器的角色。之后是可选的文档字符串,静态成员定义,及方法定义。 Python 源文件通常用.py 扩展名。当源文件被解释器加载或显式地进行字节码编译的时候会被编译成字节码。由于调用解释器的方式不同,源文件会被编译成带有.pyc或.pyo扩展名的文件,你可以在第十二章模块学到更多的关于扩展名的知识...

    zhongmeizhi 评论0 收藏0
  • [零基础python]重回函数

    摘要:函数的基本结构中的函数基本结构函数名参数列表语句几点说明函数名的命名规则要符合中的命名要求。在中,将这种依赖关系,称之为多态。不要期待在原处修改的函数会返回结果比如一定要之用括号调用函数不要在导入和重载中使用扩展名或路径。 在本教程的开始部分,就已经引入了函数的概念:《永远强大的函数》,之所以那时候就提到函数,是因为我觉得函数之重要,远远超过一般。这里,重回函数,一是复习,二是要在已经...

    dmlllll 评论0 收藏0
  • 第7期 Datawhale 组队学习计划

    马上就要开始啦这次共组织15个组队学习 涵盖了AI领域从理论知识到动手实践的内容 按照下面给出的最完备学习路线分类 难度系数分为低、中、高三档 可以按照需要参加 - 学习路线 - showImg(https://segmentfault.com/img/remote/1460000019082128); showImg(https://segmentfault.com/img/remote/...

    dinfer 评论0 收藏0

发表评论

0条评论

stonezhu

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<