前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >学习笔记-小甲鱼Python3学习第十九

学习笔记-小甲鱼Python3学习第十九

作者头像
py3study
发布2020-01-06 15:21:40
5870
发布2020-01-06 15:21:40
举报
文章被收录于专栏:python3

函数和过程

函数(function)有返回值

过程(procedure)是简单、特殊并且没有返回值的

变量:

局部变量(Local Variable):在整个py文件中声明,全局范围内都可以调用

全局变量(Global Variable):在某个函数中声明的,只能在该函数中调用它,如果试图在超出范围的地方调用,程序会报错

-----------------分割线,哈哈哈-----------------

测试题

0.下边程序会输入什么?

>>> def next():

        print('我在next()函数里……')

        pre()      

>>> def pre():

        print('我在pre()函数里……')      

>>> next()

我在next()函数里......

我在pre()函数里......

1.请问一下这个函数有返回值吗?

>>> def hello():

        print('Hello FishC!')

有返回值,返回值是None

如果没有使用return语句指定返回值,它会返回一个None对象,所以说Python所有的函数都有返回值。

2.请问python的return语句可以返回多个不同类型的数据吗?

可以。默认使用逗号隔开,以元组的形式返回。也可以使用列表包含起来返回。

3.目测以下程序会打印什么内容?

def fun(var):

    var = 1314

    print(var,end='')

var = 520

fun(var)

print(var)

>>>

1314520

4.目测以下程序会打印什么内容?

var = 'Hi'

def fun1():

    global var

    var = 'Baby'

    return fun2(var)

def fun2(var):

    var += 'I Love You'

    fun3(var)

    return var

def fun3(var):

    var = '小甲鱼'

print(fun1())

>>> 

BabyI love python.

这串代码真蛋疼,我的理解是在fun1()中声明全局变量var后,在给var赋值Baby,那么全局变量var的值已经由Hi变更为了Baby,而Baby这个值随即又传递给了fun2(var)的形参var,然后执行fun2(),var的值变为了BabyI love you

fun2()中虽然调用了fun3(),但fun3('小甲鱼')也就仅限于此了,没有任何实际意义。随后fun2()返回var的值为BabyI love you给fun1(),fun1()又返回这个值,执行print(fun1())后打印出来

------------------分割线,哈哈哈----------------

三、动动手:

0.编写一个函数,判断传入的字符串参数是否为“回文联”(回文联即用回文形式写成的对联,既可顺读,也可倒读。例如:上海自来水来自海上)

def hwl(string):

    list1 = list(string)

    list2 = reversed(list1)

    if list1 == list(list2):

           return '是回文联!'

    else:

           return '不是回文联!'

>>> hwl('上海自来水来自海上')

'是回文联!'

>>> hwl('123321')

'是回文联!'

>>> hwl('abcda')

'不是回文联!'

1.编写一个函数,分别统计出传入字符串参数(可能不只一个参数)的英文字母、空格、数字和其它字符的个数。

def count(*args):

    length = len(args)

    chars = 0

    nums = 0

    spaces = 0

    others = 0

    for i in range(length):

        for each in str(args[i]):

            if each.isalpha():

                chars += 1

            elif each.isdigit():

                nums += 1

            elif each.isspace():

                spaces += 1

            else:

                others += 1

        print('第%d个字符串中:字母一共%d个,数字一共%d个,空格一共%d个,其他字符一共%d个'%(i+1,chars,nums,spaces,others))

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/09/25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档