python笔记:第六章函数&方法

这篇具有很好参考价值的文章主要介绍了python笔记:第六章函数&方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.系统函数

由系统提供,直接拿来用或是导入模块后使用

a = 1.12386
result = round(a,2)
print(result)
> 1.12

2.自定义函数

  • 函数是结构化编程的核心
  • 使用关键词def来定义函数
#函数定义
def funcname(parameter_list):
    pass
#1.参数列表可以没有
#2.用 return 返回值value, 若无return 语句,则返回none; 函数内部遇到 return 则停止运行
def add(x,y):
    result = x + y
    return result

#定义函数时,不可与系统函数同名
def print_code(code):
    print(code)
def hello(name):
	return 'Hello, {}!'.format(name)
def hello(name):
	return 'Hello, {}!'.format(name)
str1 = input('name = ')
print(hello(str1))
>
name = lmc
Hello, lmc!
  • 为函数添加文档字符串
def hello(name):
	'Welcome for users'  # 文档字符串
	return 'Hello, {}!'.format(name)
print(hello.__doc__)
> 'Welcome for users' 

2.1 函数的返回值

  • 如果不自定义返回值,则无返回值
  • 关键字 return
def test():
	print('hello')
	return 
	print('end')
test()
> hello
  • 用明确的变量组来接受函数输出值,便于后期查看(序列解包),不用元组
def damage(skill1,skill2):
    damage1 = skill1 * 3
    damage2 = skill2 * 2 + 10
    return damage1, damage2

skill1_damage, skill2_damage = damage(3,6)
print(skill1_damage,skill2_damage)
> 9 22
  • 标明函数的返回值
def printer() -> int:  # 标明返回值为int型
    return 11
# Exception的构造函数
class Exception(BaseException):
	# 通过 -> None表明函数没有返回值
    def __init__(self, *args: object) -> None:
        pass

注意:这里只起到标明作用,运行过程中不会影响返回值

def printer() -> str:  # 标明返回值为str
    return 11  # 实际上为int
a = printer()
print(type(a))
>
<class 'int'>  

2.1 函数的参数

  • 指定赋值调用,增加可读性
def add(x,y):
    result = x + y
    return result
c = add(y=3,x=2)  # 指定赋值,与顺序无关,可读性
print(c)
> 5
  • 给函数设置默认参数,不传参也能可以调用
# collage已经设置默认参数,不传参即采用默认参数
def print_files(name,age,gender,collage='liaoning University'):
    print('My name is ' + name)
    print('I am ' + age)
    print('My gender is ' + gender)
    print('My school is '+ collage)

print_files('阿衰',str(18),'man')
>
My name is 阿衰
I am 18
My gender is man
My school is liaoning University   # 默认参数

print_files('阿衰',str(18),'man', '怕跌中学')
> 
My name is 阿衰
I am 18
My gender is man
My school is 怕跌中学
  • 星号参数 类似于序列解包中的星号变量 接收余下位置的参数(或全部接收)
def printer(*ele):
    print(ele)
    
d = 11
printer(d)
> (11,)  # 输出的为元组  

这里必须有逗号才能是元组 无逗号(11) 类型为int文章来源地址https://www.toymoban.com/news/detail-542585.html

a = (11,)
b = (11)
print(type(a))
print(type(b))
> 
<class 'tuple'>
<class 'int'>
  • 利用*星号接收更多数据
def printer(a, b, *ele):
    return ele
    
tuple1 = printer(1,2,3,4,5)
print(tuple1)
> (3, 4, 5)
def printer(a, b, *ele):
    print(ele)
    
tuple1 = (1,2,3,4,5)
printer(*tuple1)
> (3, 4, 5)
  • 双星号传递字典
def hello(greeting = 'Hello', name = 'world'):
	print('{}, {}!'.format(greeting, name))
params = {'name': 'bobo', 'greeting': 'well met'}
print()
  • 对于星号的使用,能不用最好,一般情况下,也可以达到相同效果
  • 多用于:
    • 定义的函数,允许可变数量的参数
    • 调用函数时,拆分字典或序列使用

到了这里,关于python笔记:第六章函数&方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 动力节点Redis7笔记-第六章Redis分布式系统

    Redis分布式系统,官方称为Redis Cluster,Redis集群,其是Redis 3.0开始推出的分布式解决方案。其可以很好地解决不同Redis节点存放不同数据,并将用户请求方便地路由到不同Redis的问题。 分布式数据库系统会根据不同的数据分区算法,将数据分散存储到不同的数据库服务器节点上

    2024年02月07日
    浏览(40)
  • 《Linux操作系统编程》 第六章 Linux中的进程监控: fork函数的使用,以及父子进程间的关系,掌握exec系列函数

    🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍》学会IDEA常用操作,工作效率翻倍~💐 🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬

    2024年02月11日
    浏览(37)
  • 第六章 矩阵函数

    就是 f ( x ) 变成了 f ( A ) 就是 f(x) 变成了 f(A) 就是 f ( x ) 变成了 f ( A ) 难点在于 A k A^k A k 不好算。 解决方案是利用 J o r d a n Jordan J or d an 标准型来做。 f ( A ) = P d i a g ( f ( J 1 ) , f ( J 2 ) , … , f ( J r ) ) P − 1 Large f(A) = Pdiag(f(J_1),f(J_2),dots,f(J_r))P^{-1} f ( A ) = P d ia g ( f ( J 1 ​

    2024年02月04日
    浏览(35)
  • 线代第六章 二次型 复习笔记

    二次型是一个多元函数 f (x1,x2,…,xn),每一项都是二次的,未知数的个数为任意个。 二次型可以写成矩阵形式(三个矩阵相乘): f (x1,x2,…,xn)   中间的矩阵A是对称矩阵,A称为二次型f 的对应矩阵。 矩阵A的秩称为二次型的秩。r(f)=r(A) 已知二次型,怎么写出二次型的对应矩阵

    2024年02月13日
    浏览(40)
  • 【C++学习】第六章多态与虚函数案例实现

    虚函数的作用就是为了实现多态,和php的延时绑定是一样的。 函数重载是静态的,在横向上的功能, 虚函数是类继承上的功能,是动态的。

    2024年02月09日
    浏览(39)
  • 计算机网络-笔记-第六章-应用层

    一、第一章——计算机网络概述 二、第二章——物理层 三、第三章——数据链路层 四、第四章——网络层 五、第五章——运输层 六、第六章——应用层 目录 六、第六章——应用层 1、应用层概述 2、(C/S)客户-服务器方式 (P2P)对等方式 (1)客户-服务器方式【C/S】 (2)

    2024年02月10日
    浏览(48)
  • Rust in Action笔记 第六章 内存

    OptionT 类型在Rust中使用了空指针优化(null pointer optimization)来保证该类型在编译后的二进制文件中占用0个字节。 None 变量是通过一个空指针 null pointer 来表示; 内存地址、指针、引用的区别,内存地址是指在内存中的一个字节,由汇编语言提供的一个抽象;指针,有时候也

    2024年02月08日
    浏览(51)
  • 【C#图解教程】 第六章 方法(上)

    方法是一块具有名称的代码,在类和结构中都经常用到 局部变量位于方法内部,在方法中声明时产生,在方法执行结束时结束 某些情况下,在声明的开始部分包含类型名是多余的,因为可以通过初始化看出是什么类型,所以这时可以统一使用var来声明: 需要注意的是

    2024年02月07日
    浏览(86)
  • Vue笔记【动力节点】第六章路由route

    传统web应用 传统web应用,又叫做多页面web应用:核心是一个web站点由多个HTML页面组成,点击时完成页面的切换,因为是切换到新的HTML页面上,所以当前页面会全部刷新。 单页面web应用(SPA:Single Page web Application) 整个网站只有一个HTM页面,点击时只是完成当前页面中 组件

    2024年02月01日
    浏览(34)
  • 第六章 消息认证和哈希函数 —— 现代密码学(杨波)课后题答案解析

    1.6.1.3节的数据认证算法是由CBC模式的DES定义的,其中初始向量取为0,试说明使用CFB模式也可获得相同的结果。 解:设需认证的数据分为64比特长的分组, D 1 , D 2 ,…, D N ,其中 D N 不够64比特则右边补0,由题设,数据认证算法相当于在CBC模式中初始向量取为0,并按如下关系

    2024年02月05日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包