首页 > 其他分享 >3 函数

3 函数

时间:2023-02-21 08:56:07浏览次数:31  
标签:语句 return 函数 spam 作用域 print 全局变量

3.1 def语句和参数

和C语言一样,Python也可以在程序中自定义函数,写法如下:

def hello(name):
  print('Hello,'+name)

hello('taoA')
hell0('World')

3.2 返回值和return语句

函数的返回值可以用return语句传递

import random

def getanswer(answernumber):
  if (answernumber % 2) == 0:
    return '偶数'
  else:
    return '奇数'

ran = random.randint(1,10)
print(ran)
my_string=getanswer(ran)
print(my_string)

3.3 None值

None值就表示没有值的意思
在函数定义中,如果没有return语句,Python会在后面默认添加 return None ,也就是说,如果使用不带值的return语句,或没有使用return语句,只能返回None。

3.4 关键字参数和print()值

print()函数里面可以定义打印的格式,它里面设置了两个变量,分别是end和sep,各自规定了在参数的末尾要打印什么,在参数之间打印什么来隔开它们。默认end为换行。

3.5 局部和全局变量

  1. 局部变量不能在全局作用域内使用

  2. 局部作用域不能使用其它局部作用域内的变量

  3. 全局变量可以在局部作用域中读取

  4. 尽量不要使用名称相同的局部变量和全局变量

3.6 global语句

global语句的作用是:告诉Python,这个变量是全局变量。

def spam():
    global i
    i = 'Hello,World'

i = 'taoA'
spam()
print(i)

有没有方法来区分一个变量是处于局部作用域还是全局作用域呢?
有4条法则:

1.如果变量在全局作用域中使用(在所用函数之外),它就是全局变量
2.如果在一个函数中,有针对该变量的global语句,它就是全局变量
3.否则,如果它出现在函数中的赋值语句中,它就是局部变量
4.但是,如果它没有用在赋值语句中,它就是全局变量

3.7 异常处理

下面的程序中有一个'除数为0'的错误:

def spam(i):
  return 10 / i

for i in range(10,-1,-1):
  print(spam(i))

当一个数除以0时,就会出现ZeroDivisionError: division by zero,这时我们可以用try和except语句来处理错误:
基本逻辑是:如果在函数调用中的try语句块中发生错误,程序执行就会立刻转到except子句的代码中运行。执行完之后,程序继续执行。

def spam(i):
  return 10 / i

for i in range(10,-1,-1):
  try:
    print(spam(i))
  except ZeroDivisionError:
    print('Error: Invalid argument')

标签:语句,return,函数,spam,作用域,print,全局变量
From: https://www.cnblogs.com/taoA/p/17139037.html

相关文章

  • Python函数
    函数定义def函数名(参数列表):["注释块"](可选)语句块(代码块)return[返回值](可选)函数本身也是一个变量,该变量类型就是可调用类型,属性只读。参数列表和返......
  • 立即执行函数在前端国际化方案中的应用
    说起国际化,开发过跨区域网页的小伙伴应该都遇到过。我们的网页需要配置多套语言,方便用户进行切换。 本文就以React为例,介绍其中一种实现方案,并学习一下其中的知识点。......
  • 关于一维数组传入函数的使用 //西电oj214题字符统计
    #include<stdio.h>voidcount(charstr[],intnum[]){//形参用【】,传递数组首地址后可以直接正常用数组str[i] inti; for(i=0;str[i]!=0;i++){ if(str[i]>=65&&str[......
  • 模拟实现字符串相关函数
    //#define_CRT_SECURE_NO_WARNINGS//#include<stdio.h>//#include<string.h>////如何写出好(易于调试)的代码?//1.代码运行正常//2.bug很少//3.效率高//4.可读性......
  • 《数学》三角函数公式汇总
    01-定义式三角函数公式是数学中属于初等函数中的超越函数的一类函数公式。它们的本质是任意角的集合与一个比值的集合的变量之间的映射,通常的三角函数是在平面直角坐标系......
  • 三角函数 / trigonometry
    基本知识点primary:$\sin\theta=\frac{\text{opposite}}{\text{hypotenuse}},\cos\theta=\frac{\text{adjacent}}{\text{hypotenuse}},\tan\theta=\frac{\text{opposite}......
  • 内联函数和宏定义
    内联函数和宏定义的区别在使用时,宏只做简单字符串替换(编译前)。而内联函数可以进行参数类型检查(编译时),且具有返回值。内联函数在编译时直接将函数代码嵌入到目标代码中,省......
  • 【转】golang的log.Fatal()和panic()函数的区别
    golang的log.Fatal()和panic()函数的区别在讲两者区别之前我们先看一下os.Exit()函数的定义:funcExit(codeint)Exitcausesthecurrentprogramtoexitwiththe......
  • python中常用的公共函数封装
    函数计算函数的执行时间1importtime23deftimer(func):4"""5用于计时的装饰器函数67:paramfunc:被装饰函数8:return:闭......
  • 对JS代码中的每个函数单独进行混淆加密
    自动化脚本:单独对JS代码中的每个函数进行混淆加密用自动化脚本工具,对JS代码中的每个函数分别进行单独混淆加密。这样加密得到的JS代码,比直接对整个JS代码进行混淆加密,效果要......