博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
4、Python函数
阅读量:4112 次
发布时间:2019-05-25

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

函数定义

普通函数定义

def func (a,b,c):    print('a = %s' % a)    print('b = %s' % b)    print('c = %s' % c)

调用

func (1, c = 2, b = 3)

可变长参数函数的定义

在参数的前面加 * ,定义可变长参数

def howLong (first, *other):    # 统计参数的个数,first是必传,参数个数为1    print(1 + len(other)) # 参数的个数可以随意howLong('123','456','789')

函数的局部变量问题:

var1 = 123def func ():    global var1  # 声明为全局变量之后,函数内部更改值后,函数外部也会改变    var1 = 456    print(var1)func()print(var1)

输出:

456
456

函数的迭代器和生成器

内置的迭代器:

list = ['123','456','789']it = iter(list)print( next(it) )print( next(it) )print( next(it) )print( next(it) ) # error

输出:

123
456
789

自己制作迭代器,就是生成器

关键字yield

def frange(start,stop,step):    x = start    while x < stop:        yield x        x += stepfor i in frange(10, 20 , 0.5):    print(i)

输出:

10
10.5
11.0
11.5

示例:

读取TXT文件,并全局查找的函数,使用了with优雅的代替try

def find_item (hero):    with open('sanguo.txt') as f:        data = f.read().replace('\n','')        name_num = re.findall(hero,data)        # print('主角 %s 出现 %s 次'  %(hero,len(name_num)))    return  len(name_num)

读取人物名称

hero_dict = {}with open('name.txt') as namefile:    nameArr = namefile.read().split('|')    # print('姓名数组:%s' %nameArr)    for hero in nameArr:        hero_dict[hero] = find_item(hero)            print(hero_dict)

转载地址:http://gzesi.baihongyu.com/

你可能感兴趣的文章
JDBC笔记
查看>>
Mybatis复习_1
查看>>
mybatis_maven_坐标
查看>>
Mybatis核心配置文件
查看>>
java.io.IOException: Could not find resource mybatis-config.xml
查看>>
xxxMapper.xml
查看>>
mybatis_properties
查看>>
idea debug 首先进入 URlLClassLoader 解决办法
查看>>
冒泡排序
查看>>
存储过程怎么使用
查看>>
Java实习生面试题与笔试题
查看>>
Docker+Kubernetes(K8s)企业级架构师实战视频教程-2021最新
查看>>
centos7.7安装部署docker
查看>>
Docker容器的4种网络模式详解
查看>>
android超时问题
查看>>
android中的布局错误
查看>>
Android技巧的提升
查看>>
Android(有用的Android组件1)
查看>>
Android开源项目(二)
查看>>
开源项目(三)
查看>>