首页 > 编程语言 >Python函数

Python函数

时间:2024-04-09 17:23:58浏览次数:32  
标签:调用 函数 la Python 参数 def 定义

一、函数定义以及作用

函数/方法/function(功能):函数是组织好的,可重复使用的,用来实现单一或相关联功能的代码段(块)。函数能提高应用的模块性和代码的重复利用率。比如我们天天使用的函数print(),这个就是函数(一个Python内置的函数)。也可以自己创建函数,这类函数就叫做用户自定义函数。就是把一堆零散的代码放在一起并组织起来完成一个特定任务。

为什么需要函数:

载体------函数编程模式,让电脑的运算/逻辑以函数的方式进行呈现

组织------函数将原有零散的代码根据功能进行组织

复用------对高频次使用的代码段(功能)进行重复使用

封装------基于功能进行封装,无须关注内部细节。只需调用即可

清晰------提高整体代码本身的可读性

按需------需要的时候可随时调用(呼之则来,挥之则去)

(1)函数,数学定义y=f(x),y是x的函数,x是自变量。

(2)Python函数:由若干语句组成的语句块,函数名称、参数列表,组织代码的最小参数,完成一定的功能。

结构化编程是对代码的最基本的封装,一般按照功能组织一端代码。封装的目的是为了复用,减少冗余代码。代码更加简洁美丽,可读易懂。

二、函数的分类

(1) 内建函数:max()

(2) 库函数:math() ceil()等

三、函数的定义、调用

函数必须先声明再使用。函数名代表函数本身,定义需要在调用前,也就是说调用的时候已经被定义过了,否则会抛出异常的,声明函数的关键字/命令使用def函数。

def语句定义函数:

def 函数名(参数列表):
   函数体(代码块)
[return 返回值]*

函数名就是标示符,命名要求一样。语句必须缩进四个空格,注意缩进的从属关系。

Python的函数如果没有return语句,隐式会返回none值。

定义中的参数列表成为形式参数,只是一种符号表达,简称形参。

调用:函数定义,只是声明了一个函数,它不会被执行,需要调用才会生效。调用方式就是函数名加上小括号,括号内写上参数。调用时候的参数就是实际参数,是实实在在传入的值,成为实参。定义的时候叫做形参,调用的时候叫做实参。

def myfunction(a,b):
    return a+b
print(myfunction(1,2))

 

def myfunction(a,b):       #申明函数
    print('hello,python')
    return a+b
myresult=myfunction(1,2)   #调用函数赋值变量
print(myfunction(1,2))     #打印变量

函数是可调用的对象,利用callable()查询。调用通过函数名myfunction加两个参数,返回值可使用变量接收。计算的结果,通过返回值进行返回。必须加同类型的,复用的。

四、函数的参数

(1)参数调用时传入的参数要和定义的个数匹配(可变参数除外)。

(2)def f(x,y)调用的时候使用f(1,3),按照参数的定义位置顺序传入实参。

(3)关键字参数def(x,y,z)调用使用f(x=1,y=3,z=5),使用形参的名字来出入实参的方式,使用了形参的名字,顺序可以不一致。

(4)传参

f(z=none,y=10,x=[1])     f((1,)    z=6,y=4.1)

要求位置参数必须在关键字参数之前,位置参数按照位置进行对应。位置在前,关键字在后。

五、可更改(mutable)与不可更改(immutable)对象

在 python 中,strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象。

  • 不可变类型:变量赋值 a=5 后再赋值 a=10,这里实际是新生成一个 int 值对象 10,再让 a 指向它,而 5 被丢弃,不是改变a的值,相当于新生成了a。

  • 可变类型:变量赋值 la=[1,2,3,4] 后再赋值 la[2]=5 则是将 list la 的第三个元素值更改,本身la没有动,只是其内部的一部分值被修改了。

python 函数的参数传递:

  • 不可变类型:类似 c++ 的值传递,如 整数、字符串、元组。如fun(a),传递的只是a的值,没有影响a对象本身。比如在 fun(a)内部修改 a 的值,只是修改另一个复制的对象,不会影响 a 本身。

  • 可变类型:类似 c++ 的引用传递,如 列表,字典。如 fun(la),则是将 la 真正的传过去,修改后fun外部的la也会受影响

python 中一切都是对象,严格意义我们不能说值传递还是引用传递,我们应该说传不可变对象和传可变对象。

一个函数的说明:可以使用help()打印函数说明。 

help(print) 

 输出:

 

 

标签:调用,函数,la,Python,参数,def,定义
From: https://www.cnblogs.com/longlyseul/p/18124359

相关文章

  • 3.类与对象(中篇)介绍了类的6个默认构造函数,列举了相关案例,实现了一个日期类
    1.类的6个默认成员函数如果一个类中什么成员都没有,简称为空类。空类中真的什么都没有吗?并不是,任何类在什么都不写时,编译器会自动生成以下6个默认成员函数。默认成员函数:用户没有显式实现,编译器会生成的成员函数称为默认成员函数。默认成员函数是一种特殊成员函数:​......
  • python 在医疗信息化中的应用
    Python在医疗信息化领域的应用广泛且多样,主要体现在以下几个方面:数据分析和挖掘:医疗数据庞大且复杂,包含了患者病历、生理指标、影像资料等大量信息。Python提供了丰富的数据分析库,如NumPy、Pandas和Scikit-learn等,可以高效地处理和分析这些数据。通过数据分析,医疗工作者可以深......
  • Python 设计一个监督自己的软件2
    们可以为这个日常任务记录和评分系统添加更多功能,使其更加丰富和实用。以下是一些可以考虑的功能:用户登录和个人资料管理自定义任务和权重每日、每周、每月的任务统计和可视化任务提醒和待办事项列表成就系统和奖励机制社交分享和好友竞争下面我们来逐步实现这些功......
  • Python:文件操作详细教程
    文件操作示例分析:文件操作一般要经历三个步骤:打开文件操作文件关闭文件读取操作示例:>>>f=open('test.txt','r')#打开文件test.txt,r表示只读,文件不存在则报错>>>f.read()#文件打开后,read()方法将文件内容读到内存中'123432'......
  • Python实现压缩和解压缩
    压缩和解压缩是日常常用的操作,不管是windows上图形界面的操作,还是linux上用命令来进行压缩解压缩,总的而言都还是比较方便的。但用代码来实现就没做过,近期也得实现代码压缩与解压缩操作,所以就抽时间来研究一下。一、zip文件压缩和解压缩实现importosimportzipfile#函数功......
  • Python中协程(coroutine)详解
    一、协程和线程的比较及其适用场景1共用变量问题多线程中可能出现多个线程争抢变量,所以变量需要加锁;协程中任一时刻都只有一个线程,所以变量不需要加锁。但是协程虽然不像多线程争抢变量但仍是和多线程一样共用变量的,即共用变量在某处改变在另外一处引用时也会发生改变。2协......
  • Python数据分析 numpy 笔记
     B站课链接:【Python数据分析三剑客:NumPy、Pandas与Matplotlib】https://www.bilibili.com/video/BV1Yb4y1g7SV/?p=16&share_source=copy_web&vd_source=e883bdf439c7a2e47e9145990387a56b 014,开始使用numpy(1),numpy介绍   (2),导入numpy库,并查看numpy版本#数据分析三剑......
  • 利用python在网上接单赚钱,兼职也能月入过万,还不赶紧学起来
    学习python编程,不仅可以找一份高薪工作,而且如果不打算转行或者是在校学生的话,也能为你日常生活工作提供一些帮助。Python就是以其简单易学的特性而闻名于世的,所以不一定非得是程序员才学它,其他行业的零基础人员也能轻松学会,并利用它开创副业赚钱。Python兼职副业:可以到一......
  • 学会Python爬虫,你也能月薪过万!
    随着懂爬虫、学习爬虫的人越来越多,Python爬虫的岗位需求也越来越大。一方面,互联网可以获取的数据越来越多。另一方面,像Python这样的编程语言提供越来越多的优秀工具,也让爬虫变得简单、容易上手。利用爬虫我们可以获取大量的价值数据,从而获得感性认识中不能得到的信息。而......
  • Python爬虫实例
    使用正则表达式和爬虫爬虫实例一:#第好几个方法实例importrequests#先导入爬虫的库,不然调用不了爬虫的函数importre#下面是可以正常爬取的区别,更改了User-Agent字段headers={"User-Agent":"Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/53......