首页 > 编程语言 >Python 函数

Python 函数

时间:2023-01-05 16:25:24浏览次数:46  
标签:return 函数 Python date 参数 print def

一.函数的初识

函数:以功能(完成一件事)为导向,登录,注册,len一个函数就是一个功能。随调随用

函数的优势

1.减少了代码的重复性。

2.增强了代码的可读性

 

二.函数的结构和调用

2.1 函数的结构

def 函数名():

  函数体

 

def关键词开头,空格之后接函数名称和圆括号(),最后还有一个":"
def 是固定的,不能变,他就是定义函数的关键字
空格 为了将def关键字和函数名分开,必须空,当然你可以空2格、3格,但正常人还是空一个
函数名:函数名只能包含字符串、下划线和数字且不能以数字开头。虽然函数名可以随便起,但我们给函数起名字还是要尽量简短,并且要具有可描述性
括号: 是必须加的,先别问为啥要有括号,总之加上括号就对了(下面就会讲到)!
下面的函数体一定全部都要缩进,这代表是这个函数的代码。

 

2.2 函数的调用
使用函数名加小括号就可以调用函数了 写法:函数名(),这个时候函数的函数体会被执行
而且是这个指令你写几次,函数里面的代码就运行几次

 

三.函数的返回值
一个函数就是封装一个功能,这个功能一般都会有一个最终结果的,比如你写一个登录函数,最终登录成功与否是不是需要返回你一个结果?还有咱们是不是都用过len这个函数,他是获取一个对象的元素的总个数,最终肯定会返回一个元素个数这样的结果:

那么这个返回值如何设置呢?这就得用到python中的一个关键字:return
1.函数中遇到return,此函数结束.不在继续执行

def date():
    print("拿出手机")
    print("打开陌陌")
    print('左滑一下')
    print('右滑一下')
    print("找个漂亮的妹子")
    return
    print("问她,约不约啊!")
    print("ok 走起")

date()

结果:
D:\pythonProject\python3\venv\Scripts\python.exe D:\pythonProject\python3\day10\s2.py 
拿出手机
打开陌陌
左滑一下
右滑一下
找个漂亮的妹子

2.return 会给函数的执行者返回值。
    如果return后面什么都不写,或者函数中没有return,则返回结果是None
    如果return后面写一个值,返回给调用者这个值
    如果return后面写多个结果,返回给调用者一个tuple(元组),调用者可以直接使用元组解构获取多个变量

def date():
    print("拿出手机")
    print("打开陌陌")
    print("找个漂亮的妹子")
    print("问她,约不约啊!")
    print("ok 走起")

print(date())  # None

def date():
    print("拿出手机")
    print("打开陌陌")
    print("找个漂亮的妹子")
    print("问她,约不约啊!")
    print("ok 走起")
    return '约起'

print(date(),type(date())) # 约起 <class 'str'>

def date():
    print("拿出手机")
    print("打开陌陌")
    print("找个漂亮的妹子")
    print("问她,约不约啊!")
    print("ok 走起")
    return '约起','OK 走起'

print(date(),type(date())) # 约起 <class 'str'>
a1,a2 =date()
print(a1,a2)   #约起 OK 走起

四.函数的参数
函数的参数可以从两个角度划分:
    1.行参
        写在函数声明的位置的变量叫行参,形式上的一个完整,表示这个函数需要XXX
    2.实参
        在函数调用的时候给函数传递的值叫实参,实际执行的时候给函数传递的信息,表示给函数XXX

def date(sex):      # sex就是行参
    print('设置筛选性别 %s' %(sex))

date('女')          # 女就是实参

4.1 实参角度

1.位置参数

位置参数就是从左到右,实参与形参一一对应

def msg(sex,age,hobby):
    print('人员信息 性别:%s 年龄:%s 兴趣爱好:%s' %(sex,age,hobby))

msg('女',25,'弹钢琴')   # 实参和形参位置一一对应
msg('人妖',20,'钢管舞')

联系题:

# 编写函数,给函数传递两个参数a,b a,b相加 返回a参数和b参数相加的和
def f_sum(a,b):
    c = a + b
    return c

print(f_sum(100,23))
#比较大小的这个写法有点麻烦,我们在这里学一个三元运算符(单个if else语句可以改为一个三元运算符)
def f_size(a,b):
    return b if a < b else a

print(f_size(100,200))   #200

2.关键字参数
位置参数如果在参数比较少的时候很方便,如果参数比较多时,需要记住每个参数的位置就比较困难了,这个时候我们
就需要关键字参数了,我们只需要记住参数的名字就可以了

def msg(sex,age,hobby):
    print('人员信息 性别:%s 年龄:%s 兴趣爱好:%s' %(sex,age,hobby))

msg(age=25,hobby='弹钢琴',sex='女')   # 关键字参数不需要关系参数的位置

3.混合参数
可以吧位置参数和关键字参数混合使用,但是需要注意关键字参数一定在位置参数后面

def msg(sex,age,hobby):
    print('人员信息 性别:%s 年龄:%s 兴趣爱好:%s' %(sex,age,hobby))

msg('女',hobby='音乐',age=16)  #人员信息 性别:女 年龄:16 兴趣爱好:音乐

4.2 形参角度
1.位置参数
位置参数其实与实参的位置参数是一样的就是按照位置从左到右


2.默认值参数
在函数声明的时候,可以给函数参数默认值。默认值参数一般是这个参数使用率较高

# 例如大部分公司的操作系统都是linux
def msg(name,scale,system='Linux'):
    print('公司信息 名称:%s 规模:%s 操作系统:%s' %(name,scale,system))

msg('阿里巴巴',10000)  # 公司信息 名称:阿里巴巴 规模:10000 操作系统:Linux
msg('腾讯',100000,'Windows') # 公司信息 名称:腾讯 规模:100000 操作系统:Windows

 

练习题:

#写函数,检查列表的长度,如果大于2,那么仅保留前2个长度内容,并将新内容返回给调用者
def trunc_lis(lis):
    # if len(lis) > 2:
    #     return lis[0:2]
    # else:
    #     return lis
    return lis[0:2] if len(lis) > 2 else lis
    # 或者 return lis[:2]

l1 = [1,2,3,4,5,6]
l2 = ['a',2]
ret1 = trunc_lis(l1)
print(ret1,type(ret1))
ret2 = trunc_lis((l2))
print(ret2,type(ret2))

 

标签:return,函数,Python,date,参数,print,def
From: https://www.cnblogs.com/zhazhadba/p/17027893.html

相关文章

  • 用Python来做一个简单的学生管理系统(附源码)
    小学妹说要毕业了,学了一学期Python等于没学,现在要做毕设做不出来,让我帮帮她,晚上去她家吃夜宵。当时我心想,这不是分分钟的事情,还要去她家,男孩子晚上不要随便出门,要学会......
  • C#调用VC的DLL的接口函数参数类型转换一览表
    handle---------IntPtrhwnd-----------IntPtrchar*----------stringint*-----------refintint&-----------refintvoid*----------IntPtrunsignedchar*-----refbyt......
  • 基于OpenCV DNN模块给黑白老照片上色(附Python/C++源码)
    导读本文给大家分享一个用OpenCVDNN模块给黑白老照片上色的实例,并给出Python和C++版本源码。 背景介绍    这个项目是基于在加利福尼亚大学,伯克利,RichardZhang,Phil......
  • 浅谈多项式与生成函数
    本文源码约34k,可能需要一段时间加载\(\LaTeX\)。首先需要注意的是,本文中将不会涉及具体的程式化求解,即与代码实现无关。同样的,阅读本文需要你掌握基础的快速傅里叶变换......
  • gcc内置原子操作__sync_系列函数解析
    gcc内置原子操作__sync_系列函数解析gcc4.1.2版本之后,对X86或X86_64支持内置原子操作。就是说,不需要引入第三方库(如pthread)的锁保护,即可对1、2、4、8字节的数值或指针类......
  • IPython快捷键操作和魔术命令
    快捷键操作tab补全ctrl-c中断运行的代码ctrl-l清空屏幕ctrl-u删除当前行所有文本ctrl-p用当前输入的文本搜索之前的命令ctrl-n用当前输入的文本搜索之后的命......
  • 箭头函数与promise
    console.log("普通函数方式");vararr1=[1,2,3,4,5];arr1.forEach(function(e){console.log(e);});console.log("箭头函数......
  • 用python得知 cron表达式-执行时间
    #!/user/bin/python3#-*-coding:utf-8-*-#@Author:zhaoruixiao#@Datetime:2023/1/514:30#@Software:PyCharm#@File:cron.py"""workfor$用python得......
  • 为什么 Python 中没有 main() 函数?
    在本文中,我们将学习为什么Python中没有main()函数。毫无疑问,Python没有所谓的main函数,但是,关于互联网经常引用“Python的主要功能”和“建议编写主要功能。"它们的目......
  • python接口自动化系列 - openpyxl库封装04
    前言为了更好的让openpyxl在工作中使用,将openpyxl的常用操作封装起来,这样不仅复用性高,而且阅读性好fromopenpyxlimportload_workbookfromopenpyxl.stylesimportP......