文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python—函数实例二

2023-01-31 00:54

关注

一、递归

 几种常用内置函数方法:

1)os.listdir():列出第一层目录文件

In [14]: os.listdir("/root/python")
Out[14]:
['20.py',
'1.py',
'19.py',
'21.py']

2)os.path.isdir():判断是不是目录

In [13]: os.path.isdir("/root/python")
Out[13]: True

3)os.path.isfile():判断是不是文件

In [15]: os.path.isfile("/root/python/1.py")
Out[15]: True

4)os.path.join():拼接路径

In [16]: os.path.join("/root/python","dir1","dir2")
Out[16]: '/root/python/dir1/dir2'


练习:使用递归列出目录下的所有文件

#!/usr/bin/env python
import os
import sys
def print_file(path):
    lsdir = os.listdir(path)
    for i in lsdir:
        if os.path.isfile(os.path.join(path,i)):
            print os.path.join(path,i)
        if os.path.isdir(os.path.join(path,i)):
            print_file(os.path.join(path,i))
print_file(sys.argv[1])

 或:

#!/usr/bin/env python
import os
import sys
def print_file(path):
    lsdir = os.listdir(path)
    files = [i for i in lsdir if os.path.isfile(os.path.join(path,i))]
    dirs = [i for i in lsdir if os.path.isdir(os.path.join(path,i))]
    if files:
        for fl in files:
            print os.path.join(path,i)
    if dirs:
        for dr in dirs:
            print_file(os.path.join(path,dr))
print_file(sys.argv[1])



二、匿名函数:lambda,冒号前是变量参数,冒号后是返回值

 reduce()方法:无需定义函数,直接使用匿名函数即可

 练习:累加

In [18]: reduce(lambda x,y:x+y,range(1,101))
Out[18]: 5050



三、内建函数

1)abs():绝对值


2)max() min():序列的最大最小值


3)len():取长度,序列和字典都可以


4)divmod():返回商和余数


5)pow(): 取幂

 说明:两个数,幂;三个数,先幂,再取余数


6)round():保留小数位

 说明:先变成浮点数,再保留小数


7)callable():判断一个对象是不是可调用的:函数、类可以调用,变量不可以调用


8)type():查看对象的类型


9)isinstance():判断是不是指定的类型


10)cmp():比较两个数字、字符串


11)range()、xrange():一个返回列表、一个返回对象(遍历时才有值)


12)complex():转变成一个负数


13)str():转换成字符串,可以是列表,也可以是字典




阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯