2018年6月22日【python学习笔记】

2018-06-25  本文已影响0人  SlashLife

一、函数的返回值

def 函数名(参数列表)
说明文字
函数体

函数的返回值:1.就是函数调用表达式的值;
2.就是return关键字后的表达式的值;
3.就是函数返回给调用者的值
如何看一个函数的返回值是多少:就看return后面的结果,如果没有return就是none

func1()就是函数调用表达式,他是一个值;
普通的值能够做的事情,函数调用表达式都能做;

例如:给变量赋值,打印(可以作为实参传给函数),运算等

  result = func1()
  print(result, func1())

练习:写一个函数,获取两个数的乘积

  def yy_sum(num1, num2):
      return num1 * num2

  result = yy_sum(10, 3)
  print(result)

a.没有return,函数体执行完毕,函数结束;
b.如果函数中有return,遇到return函数就结束。
程序直接回到函数调用位置,接着往下执行

  def func3():
      print('hello')
      return 10
      print('world')

  print(func3())  # hello 10

def download(url):
      下载数据
      if 数据下载失败:
          return '下载失败'
      解释数据
      处理和显示数据

练习:写一个函数,找出100-200之间第一个能被13整除的数

  def yy_sum(num):
      for item in num:
          if item % 13 == 0:
              print(item)
              return item
  yy_sum(num=range(100, 201))

二、将列表作为参数

练习:写一个函数,删除列表中的偶数

  def del_list(list1):
      index = 0
      while index < len(list1):
          if list1[index] % 2 == 0:
              del list1[index]
              index -= 1
          index += 1
      print(list1)
  list2 = [1, 2, 3, 4]
  del_list(list2)    # [1, 3]
  # 注意:将列表变量作为实参传递给函数,如果在函数中改变了列表元素,那么原来的列表元素也会改变
  print(list2)    # [1, 3]

三、作用域

在python中,只有模块、函数和类会产生作用域。在作用域中声明的变量我们叫局部变量
在产生作用域外的位置声明的变量叫全局变量
不管是局部变量还是全局变量,都是从声明开始起作用的

if 语句、for/while 循环体,是不会产生作用域的;
相当于写在if、或者循环体中的变量,不改变其变量属性,相当于全局变量。
  if True:
      b = 20    # 在这儿的b也是全局变量
      print('if', b)  # if 20
  print(b)   # 20

  while True:
      print('while', b)   # while 20
      break
  def func2():
      print('func2', b)
  func2()  # func2 20
注意:在函数中不能改变全局变量的值,只能使用
  aa = 100  # 全局变量aa
  def func4():
      aa = 200   # 重新声明了一个局部变量 aa,只是重名了
      print('func4', aa)
  func4()  # func4 200
  print(aa)  # 100
上一篇下一篇

猜你喜欢

热点阅读