博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
进阶 第二课:函数(第二节)
阅读量:5034 次
发布时间:2019-06-12

本文共 2709 字,大约阅读时间需要 9 分钟。

1. 习题问题的总结    (1) 不要讲问题复杂化, 越简单越好    (2) 自己要测试。多测试,测试要完整(类型测试和内容测试)# -*- coding=utf-8 -*- # 习题:# 1.定义一个方法 func,该func可以引入任意多的整型参数,结果返回其中最大与最小的值。def f_max(*kr):    a = kr[0]    for i in kr:        if isinstance(i,int):            if a <= i:                a = i             else:                pass        else:            return 'kr is contain not integer cells'    return a print f_max(1,2,3,4)# 找到最大值和最小值 def fun_max_min(*num):    for i in num:        if not isinstance(i, int):            pass         else:            return '请输入整型数字'    a = sorted(num)     return "maxinum is %d and mininum is %d" % (a[-1],a[0])print fun_max_min(1,2,3,4)#老师点评:可以用filter对数据进行过滤,然后取出最大值和最小值

def fun_max_min(*num):

 

    num_int = filter(lambda x: isinstance(x, int), num)

    a = sorted(num_int)
    return "maxinum is %d and mininum is %d" % (a[-1],a[0])

print fun_max_min(1,2,3,4,'a','b')

 
# 2.定义一个方法func,该func可以引入任意多的字符串参数,结果返回(长度)最长的字符串。def str_len(*kr):    lens = 0     max_str = ''    for i in kr:        if isinstance(i, str):            if lens <= len(i):                lens = len(i)                max_str = i             else:                pass        else:            return 'the input contain not str cells'    return i print str_len('asd','asdas','sfdfasdsdfsd',345322)# 方法二:def str_maxlen(*sen):    for i in sen:        if isinstance(i,str):            pass        else:            return '请输入字符串'    a = sorted(sen,key=lambda k:len(k), reverse=True)    return 'maxinum len string is %s' % a[0]print str_maxlen('asd','asdas','sfdfasdsdfsd')# 3.定义一个方法get_doc(module),module参数为该脚本中导入或定义的模块对象,该函数返回module的帮助文档。# 例 print get_doc(urllib),则会输出urllib这个模块的帮助文档。 def get_doc(str1):    return help(str1)get_doc("urllib")# 方法二:import os def get_doc2(str1):    a = 'pydoc %s' % str1     m = os.popen("python -m %s" % a).read()    return m print get_doc2("str")  # prinnt参数里面一定要加引号 # 4.定义一个方法get_text(f),f参数为任意一个文件的磁盘路径,该函数返回f文件的内容。import os def get_text(str1):    if os.path.exists(f):        with open(str1,'r') as g:            return g.read()    else:        return "没有这个文件" get_text('d:/ttt.txt')# 5.定义一个方法get_dir(folder),folder参数为任意一个文件夹,该函数返回folder文件夹的文件列表。提示(可以了解python的glob模块)import globa = []def get_dir(dir1):    a = glob.glob(dir1+"*")    return [a[i].decode('gbk') for i in range(len(a))]a = get_dir("D:/")for i in a:    print i 2. 怎么去学习使用函数    (1) 别管那么多复杂的, 先直接把功能实现了    (2) 抽象成函数:命名规范, 伪代码, 参数默认值    (3) 将函数变得更加健壮, 让他可以跑很多地方.        1) 假设你写的函数是要交给你的基友用 -> 功能完整        2) 假设你写函数是交给你的学弟用     -> 异常处理完善     (4) 测试        1) asset        2) 对函数的反馈值进行一个值和类型的测试        3)单元测试 def func1():    pass命名规范:下划线命名法:get_doc_from_url()驼峰命名法:  GetDocFromUrl()为什么要用默认值:1. 更省事2. 更可配置

 

转载于:https://www.cnblogs.com/huiming/p/5573381.html

你可能感兴趣的文章
js、ajax乱码
查看>>
【转载】回首大学四年,一个电工对大学课程的见解
查看>>
MySQL监控和预警
查看>>
根据CPU核心数确定线程池并发线程数
查看>>
解决方法:CentOS7用yum安装软件显示错误:cannot find a valid baseurl for repo: base/7/x86_64...
查看>>
hive安装<1>
查看>>
jsp另外五大内置对象之-out获取缓冲区大小
查看>>
博客主Judge已跳槽搬家emmm
查看>>
2017.7.31 ELK+logback+redis的使用
查看>>
Win10系统怎样让打开图片方式为照片查看器
查看>>
Chrome 开发者工具的技巧
查看>>
codevs 1069 关押罪犯 并查集
查看>>
Mybatis用log4j输出日志,输出sql到控制台
查看>>
中国象棋
查看>>
enum
查看>>
ffmpeg在am335x上的移植 分类: ffmpeg-SDL-VL...
查看>>
Cisco AP-ROMMON升级AP镜像
查看>>
十天冲刺3
查看>>
80. Remove Duplicates from Sorted Array II
查看>>
数据库-mongodb-高级查询表达式
查看>>