美文网首页
函数变量和返回值

函数变量和返回值

作者: C1awn_ | 来源:发表于2018-01-04 22:25 被阅读0次

1. 函数变量

  • 局部变量和全局变量

    • Python中的任何变量都有特定的作用域
    • 在函数中定义的变量一般只能在该函数内部使用,这些只能在程序的特定部分使用的变量我们称之为局部变量
    • 在一个文件顶部定义的变量可以供文件中的任何函数调用,这些可以为整个程序所使用的变量称为全局变量
  • 举例1:

#!/usr/bin/python
# -*- coding:utf8 -*-
# author: chawn
# date:
def fun():
    x=100
    print x
fun()
C:\Users\chawn\PycharmProjects\pyex\venv\Scripts\python.exe C:/Users/chawn/PycharmProjects/pyex/180104/cs.py
100

Process finished with exit code 0

这里的x是局部变量

  • 举例2:
#!/usr/bin/python
# -*- coding:utf8 -*-
# author: chawn
# date:
x = 'global var'
def fun():
    x=100
    print x
fun()
print x

C:\Users\chawn\PycharmProjects\pyex\venv\Scripts\python.exe C:/Users/chawn/PycharmProjects/pyex/180104/cs.py
100
global var

Process finished with exit code 0

文件顶部的x是全局变量
举例3:

#!/usr/bin/python
# -*- coding:utf8 -*-
# author: chawn
# date:
x = 100
def fun():
    global x    #先声明x是全局变量,下面才能调用全局变量。声明只能这么写,不能多余定义。
    x += 10
    print x
fun()
print x    #这里的x已经是改变过的全局变量
C:\Users\chawn\PycharmProjects\pyex\venv\Scripts\python.exe C:/Users/chawn/PycharmProjects/pyex/180104/cs.py
110
110

Process finished with exit code 0

举例4:global强制定义全局变量

#!/usr/bin/python
# -*- coding:utf8 -*-
# author: chawn
# date:
x = 100
def fun():
    global x
    x += 10
    global y
    y = 1
fun()
print x
print y
C:\Users\chawn\PycharmProjects\pyex\venv\Scripts\python.exe C:/Users/chawn/PycharmProjects/pyex/180104/cs.py
110
1

Process finished with exit code 0

现在y已经全局变量

  • Python locals() 函数

locals() 函数会以字典类型返回当前位置的全部局部变量。
对于函数, 方法, lambda 函式, 类, 以及实现了 call 方法的类实例, 它都返回 True。
举例:

>>>def runoob(arg):    # 两个局部变量:arg、z
...     z = 1
...     print (locals())
... 
>>> runoob(4)
{'z': 1, 'arg': 4}      # 返回一个名字/值对的字典
>>>

2. 函数返回值

  • 函数返回值
    • 函数被调用后会返回一个指定的值
    • 函数调用后默认返回None
    • return 返回值
    • 返回值可以是任意类型
    • return执行后,函数终止
    • return与print区别
#!/usr/bin/python
# -*- coding:utf8 -*-
# author: chawn
# date:
def fun():
    print 'hello wd'
    return 200
print fun()
C:\Users\chawn\PycharmProjects\pyex\venv\Scripts\python.exe C:/Users/chawn/PycharmProjects/pyex/180104/cs.py
hello wd
200

Process finished with exit code 0

程序除了输出hello wd,还输出了返回值
联想一下前一天写的打印pid程序

#!/usr/bin/python
# -*- coding:utf8 -*-
# author: chawn
# date:
import sys
import os    #要调用os.listdir
def isNum(n):
    for i in n:
        if i in "0123456789":
            pass
        else:
            break
    else:
         print n,
for i in os.listdir('/proc'):    #调用函数
    isNum(i)

此程序可以简化为:

#!/usr/bin/python
# -*- coding:utf8 -*-
# author: chawn
# date:
import sys
import os    #要调用os.listdir
def isNum(n):
    for i in n:
        if i not in "0123456789":
            return False    #返回假
    return True  #函数返回真
for i in os.listdir('/proc'): #调用函数
    if isNum(i):  #只有函数返回真的才会到这一步,此时==if True
        print i,

判断数字用isdigit()

3. 练习

  1. 设计一个程序,从终端接收10个数字,并使用自己编写的排序函数,对10个数字排序后输出
  2. 设计一个函数,接收一个英文单词,从文件中查询该单词的汉语意思并返回

1.解答

#!/usr/bin/python
# -*- coding:utf8 -*-
# author: chawn
# date:
s = raw_input('plz input 10 num(no blank): ')
print list(s)
print sorted(list(s))

执行结果

C:\Users\chawn\PycharmProjects\pyex\venv\Scripts\python.exe C:/Users/chawn/PycharmProjects/pyex/180104/给输入的10个数排序输出.py
plz input 10 num(no blank): 14236899556
['1', '4', '2', '3', '6', '8', '9', '9', '5', '5', '6']
['1', '2', '3', '4', '5', '5', '6', '6', '8', '9', '9']

Process finished with exit code 0
  1. 解答
def englishiIntoChinese():

   word = raw_input('please input english word:')

   with open('dictfile.txt', 'r') as f:

       for i in f:

           if word==i.strip().split()[0]:

               return i.strip().split()[1]

       return '不存在!'



print englishiIntoChinese()

相关文章

  • TypeScript-函数(全)

    返回值类型 语法function 函数名():返回值类型{​ 函数主体...}let 变量名:变量类型 = ...

  • 19-01-07b变量作为函数的返回值=高阶函数

    4.变量作为函数的返回值函数1作为函数2的返回值 - 函数2是返回值高阶函数

  • TS函数|返回值和参数

    函数返回值类型 function 函数名():返回值类型{}如果函数没有返回值的话,则定义为voidlet 变量名...

  • Linux命令行与Shell脚本编程大全-创建函数

    本章内容: 基本的脚本函数 返回值 在函数中使用变量 数组变量和函数 函数递归 创建库 在命令行中使用函数 创建函...

  • 函数变量和返回值

    1. 函数变量 局部变量和全局变量Python中的任何变量都有特定的作用域在函数中定义的变量一般只能在该函数内部使...

  • 第四章函数与程序结构

    程序可以看做是变量定义和函数定义的集合,函数之间的通信可以使用参数、函数返回值、和外部变量。函数执行完成后会退出当...

  • JavaScript函数 Day2

    函数 变量提升和函数提升 函数实现累加、阶乘(函数的自调用) return 返回值 遇到return就结束函数,无...

  • Python语言基础(五)

    函数的返回值 返回值可以是任何数据类型,使用return语句可以返回函数值并退出函数 全局变量和局部变量 在函数中...

  • Go语言-函数

    一.函数的定义 1 表达式作为返回值 2 定义变量接收返回值 3 在函数定义时定义接收变量 4.不定参函数... ...

  • python函数进阶1

    1.什么是返回值 确定函数返回 2.获取函数返回值 2.函数的调用过程 变量的作用域 - 变量可以使用的范...

网友评论

      本文标题:函数变量和返回值

      本文链接:https://www.haomeiwen.com/subject/aoydnxtx.html