资讯专栏INFORMATION COLUMN

Python函数

elisa.yang / 1891人阅读

摘要:定义的函数定义使用通过返回执行结果常用内置常用内置函数待补充绝对值计算判断是否是类型列表中的值强制类型转换小数时仅保留整数位强制类型转换编码转换强制类型转换多值的函数是可以返回多值的定义调用可以看到,返回的多值是以形式输出的参数的参数支持默

定义

Python的函数定义使用def

def func_name(x):
    return "hello world" //通过return 返回执行结果
常用内置

常用内置函数(待补充):

abs() // 绝对值计算
isinstance(v, (type list)) //判断是否是类型列表中的值 boolen return
int() //强制int类型转换,小数时仅保留整数位
str() //强制string类型转换
unicode //unicode编码转换
bool() //强制bool 类型转换
return 多值

python的函数是可以返回多值的

 //定义
 def infos():
    name = "Yi_Zhi_Yu"
    age = 25
    return name, age
 //调用
 infos() //("Yi_Zhi_Yu", 25)

可以看到, 返回的多值是以tuple形式输出的

参数

python的参数支持默认参数语法,但必须定义在函数参数的最后面的位置
注意: python的参数可以不需要严格按照定义的函数参数的位置传递进去, 作为代价,需要告诉函数传递的参数对应的是哪个,如下:

def infos(input_name, input_age=18): //默认的参数定义age=18
   name = input_name
   age = input_age
   return name, age
infos("Yi_Zhi_Yu",25) // ("Yi_Zhi_Yu", 25) //默认参数传递顺序
infos(input_age=25, input_name="Yi_Zhi_Yu") //("Yi_Zhi_Yu", 25) 这里就没有按照默认的顺序传递参数
可变参数

当需要向函数传递参数,而又不知道参数的具体数量的时候, 可以使用如下定义方式:

//计算平均分
def average_score(*score):
    s = 0
    for n in score:
        s += n
    return s/len(score)
average_score(10, 8, 8, 10) //9

否则, 按照正常的方式, 还需要定义一个tuple或者list结构,然后传递给函数才能使用,上面的这种方式实际上本身传递进去的就是一个tuple, 把所有的参数都自动放在了*对应的参数里

那么如果传递进去的参数假如本身就是一个tuple或list了, 而上面的方法我们已经定义好了, 那么我们怎么办, 一个个元素score[0], score[1]写进去又很麻烦, 怎么办: 在传递tuple或list参数的时候带个*即可

score = (10, 8, 8, 10)
average_score(*score) //9 如果不带*,会直接报错类型错误
关键字参数

首先必须搞清楚什么事关键字参数, 在函数定义的时候明确表明了哪个参数的值是什么的时候就是关键字参数, 我们在默认参数那块有用过
python 允许在函数参数传递任意的关键字参数, 前提是最后一个参数定义必须带了**

def new_infos(input_name, input_age, **other_info):
    return input_name, input_age, other_info

那这里除了第一个和第二个参数, 第三个参数都是以dict 形式传递进去的, 用一下就知道了

new_infos("Yi_Zhi_Yu",25, sex="man", interest="basketball")//("Yi_Zhi_Yu", 25, {"interest": "basketball", "sex": "man"})
//other_info 接受了除第一个第二个参数外的关键字参数
混合参数

如果同时传递以上几种类型, 该如何定义呢, 按照顺序, 必须是

    必要参数, 默认参数, 可变参数, 关键字参宿

所以在使用的时候要注意了

Ps: 以上为学习记录, 难免有错, 希望各位指正
参考:廖雪峰Python教程

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

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

相关文章

  • 100 个基本 Python 面试问题第二部分(21-40)

    摘要:为我们提供了许多内置函数,例如并提供了创建用户定义函数的能力。会将该变量视为函数级作用域中的局部变量。回到目录中函数的用途是什么是中的内置函数之一。请注意,这种类型的参数语法不允许将命名参数传递给函数。函数接受一个称为的可选参数。 ...

    2450184176 评论0 收藏0
  • 100 个基本 Python 面试问题第二部分(41-60)

    摘要:回到目录评论区抽粉丝送书啦欢迎大家在评论区提出意见和建议抽两位幸运儿送书,实物图如下开发从入门到精通内容简介案例教学。 ? 作者主页:海拥 ? 作者简介:?CSDN...

    Tikitoo 评论0 收藏0
  • Python 调用 C 动态链接库,包括结构体参数、回调函数

    摘要:调用以回调函数地址为参数的函数这个主题就稍微绕一些了,也就是说在接口中,需要传入回调函数作为参数。这个问题在中也可以解决,并且回调函数可以用定义。代码代码很简单回调函数的传入参数为,返回参数也是。 项目中要对一个用 C 编写的 .so 库进行逻辑自测。这项工作,考虑到灵活性,我首先考虑用 Python 来完成。 研究了一些资料,采用 python 的 ctypes 来完成这项工作。已经...

    NickZhou 评论0 收藏0
  • C++开发python windows版本的扩展模块示例

    摘要:主要是库文件头文件文件不一致的问题。定义模块函数其中函数参数是模块自身,是传递的参数列表,返回值定义了一个整形数,这里会申请空间增加引用计数,交由来管理这个引用。 C++开发python windows版本的扩展模块示例测试环境介绍和准备测试环境:操作系统:windows10Python版本:3.7.0VS版本:vs2015社区版(免费)相关工具下载:VS版本vs2015社区版(免费)...

    junfeng777 评论0 收藏0
  • C++开发python windows版本的扩展模块示例

    摘要:主要是库文件头文件文件不一致的问题。定义模块函数其中函数参数是模块自身,是传递的参数列表,返回值定义了一个整形数,这里会申请空间增加引用计数,交由来管理这个引用。 C++开发python windows版本的扩展模块示例测试环境介绍和准备测试环境:操作系统:windows10Python版本:3.7.0VS版本:vs2015社区版(免费)相关工具下载:VS版本vs2015社区版(免费)...

    Meathill 评论0 收藏0
  • Python 2.x 与 Python 3.x 的区别

    摘要:官方也宣布在停止对的维护。并且在很多面试过程中,面试官都会问与的区别。的版本,常被称为,或简称。与部分地支持这种形式的语法。捕获异常的语法由改为。在中,表示八进制字面量的方式只有一种,就是。已经支援新的模组。 前言 如果你是刚接触 Python 的初学者,那你可能是直接学习 Python 3.x 版本。对于 Python 2.x 的版本是不会有所接触。官方也宣布在 2020 停止对 P...

    LittleLiByte 评论0 收藏0

发表评论

0条评论

elisa.yang

|高级讲师

TA的文章

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