WordPress极简博客 WordPress极简博客
  • 新鲜事
  • 战疫情
  • UI素材
    • UI素材
    • 电商/节日
    • PPT
      • 节日庆典
      • 工作汇报
      • 商业计划书
    • word
      • 简历竞聘
      • 合同/公文
  • 创客头条
    • 音乐分享
    • 初创文章
    • 极客头条
    • 生活趣事
    • 生活日记
    • 防骗指南
  • 编程教学
    • API日记
    • Linux安全栏目
      • Linux运维安全汇总
      • DDOS攻击防护
      • XSS攻击防护
      • SQL安全防护
    • Python技术栏目
      • Python基础入门
      • Python基础结构
    • WordPress技术栏目
      • WP主题
      • WordPress技术教程
      • RIPRO主题美化
    • WordPress漏洞发布
    • 技术教程汇总
    • 严选源码
  • 专题
  • 基友
  • 隐私
  • 注册
    登录
立即登录
  • 首页
  • 云优化
  • 新疫情
  • 新鲜事
    • 热文
    • 极客
    • 生活
  • 技术篇
    • WP主题
    • 技术教程
    • Python入门
    • Python基础
  • 专题篇
  • 友链君
首页 技术教程(干货) Python基础——函数基础和函数参数

Python基础——函数基础和函数参数

夏柔 11月 1, 2019

本章节讲述函数的基本用法 ;请您准备好pycharm(电脑)运行工具进行操作

一、函数的基本内容

1、函数标准格式

def 函数名(参数):
    函数接口
    函数体
    return 返回值

函数名命名规则: 字母、数字和下划线组成,和变量命名规则一致

return 后面可以返回任意表达式,但不能是赋值语句

2、函数调用

函数名(参数)

def xiaoyan(s):                   
   
    print("我是{}".format(s))     
xiaoyan('小闫同学')

注:必须先调用哦

3.参数

  • 形参:函数没有调用的时候,它没有任何意义;在调用时,必须传入参数,所以也叫必须参数
  • 实参:与形参位置是一一对应的,所以也叫位置参数;缺一不可,缺了或多了都会报错
def xiaoyan(a, b):                  
    
    print(a, b)                     

xiaoyan("小闫同学",'Welcome to Xiaoyan class')

输出结果 如图:

 

 如果您没看懂 我们换个简单的例子

代码:

def f(x, y):

    print("我是{}{}".format(x, y))      #format 类型

f(1, 2)

输出结果如下图:

缺少参数时

此时,他就会报错

 

多参数时Python基础——函数基础和函数参数-WordPress极简博客

他也会报错

 

重点:

  • 默认参数:不传参,用默认值,传参它也能接收;一定要放在必须参数后面,否则会报错

 

  • 关键字参数

f(x=1, y=2)

通过关键字去找对应的必须参数,这样就不需要一一对应了。

  • 动态参数

一般写法:def f(*args, **kwargs) ;

*args:调用参数时,所有传入的多余的位置参数都会被args接收生成一个元组;
**kwargs:函数调用时,多余的关键字参数,都会被kwargs接收,生成一个字典

Python基础——函数基础和函数参数-WordPress极简博客

  1. 扩展:为动态参数传入列表、字典、元组

Python基础——函数基础和函数参数-WordPress极简博客

return
注意 return 和 print 的区别,return是函数的返回值,返回值可以赋值给变量,而print只是打印出来
二、常用内置函数
函数名 作用
len 求长度
min 求最小值
max 求最大值
sorted 排序
reversed 反向
enumerate 返回一个可以遍历的对象
eval 取出字符串的内容,当做表达式进行运算并有返回值
exec 执行字符串,没有返回值
filter 过滤器,每个可迭代对象去执行函数,获取满足条件的,不满足的删去
map 对于可迭代参数,应用函数,结果返回
zip 配对

enumerate:

li = ['a', 'b', 'c']

for i in enumerate(li):
    
    print(i)

print(list(enumerate(li)))

输出结果:

Python基础——函数基础和函数参数-WordPress极简博客

eval:

a = "1 + 2 + 3"
print(eval(a))

filter:

def f1(i):
    return i > 10

li = [1, 90, 23, 49, 5]
print(list(filter(f1, li)))

输出结果:

Python基础——函数基础和函数参数-WordPress极简博客

map:

def f1(i):
    
    return i > 10

li = [1, 90, 23, 49, 5]

s = [11, 34, 57]

print(list(map(f1, li)))

输出结果:

Python基础——函数基础和函数参数-WordPress极简博客

注:filter和map的区别是: filter是对对象的筛选,获取的是对象元素,map获取的是表达式的值(True或False)

zip:

s1 = [1, 2, 3]

s2 = ['a', 'b', 'c']

a = zip(s1, s2)

print(dict(a))

输出结果:Python基础——函数基础和函数参数-WordPress极简博客

三、作业:    (4套干货哦)

题目:定义一个函数,对指定数据进行排序,通过参数来决定是正向排序还是反向排序。

[rihide]

比较简单易懂

def f(*args, s=1):
    if s == 0:
        print(sorted(args)
)
    elif s == 1:
        print(sorted(args, reverse=True))
    else:
        print("小可爱!")
li = [4,2,8,5,10]
f(*li)            #[10, 8, 5, 4, 2]
# f(*li, s=0)      #[2, 4, 5, 8, 10]
# f(*li, s=1)      #[10, 8, 5, 4, 2]
# f(*li, s=2)      #小可爱!

 

复杂一些

#定义个函数,可以对输入的数据进行排序, 通过参数来决定是正向排序还是反向排序。
y=input('输入数字(数字之间用空格隔开):')
z=int(input('输入一个整数(偶数为正向排序,奇数为反向排序):'))
x=y.split(' ')                #对接收的字符串进行切片,得到列表
x=list(map(eval,x))           #将列表的元素由字符串变成数字

def sort(a,b):
        c=sorted(b)           #正向排序
        if a%2==0:
            print(c)
        else:
            c.reverse()       #逆向排序
            print(c)
k=sort(z,x)
y=input('输入数字(数字之间用空格隔开):')
z=int(input('输入一个整数(偶数为正向排序,奇数为反向排序):'))
x=y.strip().split(' ')                #对接收的字符串进行切片,得到列表
x = filter(lambda x:x!='',x)
try:
    x=list(map(eval,x))   #将列表的元素由字符串变成数字
except:
    print('输入存在非数字字符')
def sort(a,b):
        c=sorted(b)           #正向排序
        if a%2==0:
            print(c)
        else:
            c.reverse()       #逆向排序
            print(c)
k=sort(z,x)
y=input('输入数字(数字之间用空格隔开):')
z=int(input('输入一个整数(偶数为正向排序,奇数为反向排序):'))
x=y.strip().split(' ')                #对接收的字符串进行切片,得到列表
x = filter(lambda x:x!='',x)
try:
    x=list(map(eval,x))   #将列表的元素由字符串变成数字
except:
    raise Exception('输入存在非数字字符')
def sort(a,b):
        c=sorted(b)           #正向排序
        if a%2==0:
            print(c)
        else:
            c.reverse()       #逆向排序
            print(c)
k=sort(z,x)

 

[/rihide]

 

#python干货
0
J2dcg1.png
猜你喜欢
  • Nginx添加跨域限制规则
  • 使用测速脚本对国内Linux服务器进行测速
  • 域名爆破之自动化信息收集脚本
  • 利用免费接口实现国家开放大学刷网课脚本
  • RiProV2定制导航条
  • 判断是否在微信浏览器打开
  • 微信内自动播放音频非百度方案
  • 利用veImageX加速您的网站,想不快都难!
  • SWAPIDC减少注册信息及防刷注册量教学
  • Python实现定时发送每日早报及生活指数
05 5月, 2023
5月5日,星期五,在这里每天60秒读懂世界!
夏柔
站长
夏山如碧 - 怀柔天下
1688
文章
25
评论
58145K
获赞
版权声明

文章采用创作共用版权 CC BY-NC-ND/2.5/CN 许可协议,与本站观点无关。

如果您认为本文侵犯了您的版权信息,请与我们联系修正或删除。
投诉邮箱wpsite@aliyun.com

栏目推荐
Python基础入门33
WordPress技术教程267
前沿技术情报所22
城市创新——新消费11
最近有哪些不可错过的热文23
程序员的养生之道0
节
春
  • 新鲜事
  • 疫情实况
  • UI素材
  • 技术教程
  • 音乐分享
  • 专题
  • 友情
  • 隐私
  • 云优化
Copyright © 2019-2025 WordPress极简博客. Designed by 夏柔. 辽公网安备21010502000474号 辽ICP备19017037号-2