发布时间:2019-09-25 08:24:51编辑:auto阅读(1813)
函数和过程
函数(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))
上一篇: Python2和Python3的一些语法
下一篇: Python3 数据库增删改查简单操作
47760
46269
37152
34655
29246
25906
24778
19878
19441
17933
5730°
6335°
5853°
5903°
7004°
5841°
5860°
6372°
6331°
7695°