专栏首页python3学习笔记-小甲鱼Python3学习第十九

学习笔记-小甲鱼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))

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 3)js的基础语法使用以及css定位

    var north = ['北京','山东','天津']; var south = ['东莞','深圳','上海']; var newCity = north....

    py3study
  • Python中的整除

    py3study
  • Flash AS3 性能优化

    http://help.adobe.com/zh_CN/as3/mobile/index.html

    py3study
  • JavaScript 定时器 setTimeout、setInterval

    Devops海洋的渔夫
  • javascript基础知识点1.0

    知识点综述: ---- 在复习JavaScript语法,主要看的是w3cschool的教程。 用法: 1.0必须位于<script></s...

    东风冷雪
  • hexo的图片和视频显示

    之前一番因为买了阿里云和域名,而且备了案。于是在阿里云上重新部署了博客,同样用的hexo。

    efonfighting
  • 系统学习javaweb-06-javascript

    parseFloat() 整数字符串仍转换为整数 IsNaN (is not a muber)不是数字返回true,是数字返回false

    csxiaoyao
  • c# 调用分页(控制器端的)与时间的格式

    wfaceboss
  • Unity 基于Cinemachine计算透视摄像机在地图中的移动范围

    https://www.cnblogs.com/koshio0219/p/11820654.html

    汐夜koshio
  • js处理json和字符串示例

    比较两个字符串不同的元素并打印出来,其中两个字符串是包含关系,即一个字符串一定是另一个字符串的子串,如{1,2,4}是{1,2,3,4,5}的子串

    阳光岛主

扫码关注云+社区

领取腾讯云代金券