Python参数类型以及实现isOdd函数,isNum函数,multi函数,isPrime函数

一、Python参数类型

形参:定义函数时的参数变量。

实参:调用函数时使用的参数变量。

参数传递的过程,就是把实参的引用传递给形参,使用实参的值来执行函数体的过程。

在 Python 中,函数的实参/返回值都是是靠引用来传递的。

在调用函数时,通常会传递参数,不同的参数处理不同的数据。一般有普通参数、默认参数、可变位置参数、可变关键字参数等。

1.普通参数:按照参数位置,依次传递参数。

defadd(x,y):return x +yprint(add(3,4))

2.默认参数:定义函数时,可以给某个参数赋一个默认值。

调用函数时,如果没有传入默认参数的值,则在函数内部使用参数默认值。

要使用最常见的值作为默认值,从而简化函数的调用。

如果一个参数的值不能确定,则不应该设置默认值,具体的数值在调用函数时由外界传递。在调用函数时,如果有多个默认参数,需要指定参数名,这样解释器才能够知道参数的对应关系。

def add(x,y=1):return x+yprint(add(2))print(add(2,3))

当一个参数有默认值时,调用时如果不传递此参数,会使用默认值。

注意:带默认值参数必须在不带默认值参数之后,否则会报错。

3.可变位置参数:

定义参数时参数前面加一个*,表示这个参数是可变的,可以接受任意多个参数,这些参数构成一个元组,只能通过位置进行参数传递。实例如下:

求一组数字的最大值,最小值,参数个数:

def max(*a):

m=n=a[0]for x ina:if x>=m:

m=xelse:

n=xreturnm,n,len(a)

b=input(‘输入若干数字,用空格隔开:‘).split()print(max(*b))

运行结果:

关于最后一行:print(max(*b)),*b的作用是解包,否则传递的是整个列表。

如果不加*,则输出结果如下:

4.可变关键字参数:

定义参数时,在前面加**,表示这个参数可变,可以接受任意多个参数,这些参数构成一个字典,只能通过关键字参数传递。

参数的混合使用:

#位置参数可以和关键字参数一起使用。#当位置可变参数和关键字可变参数一起使用的时候,可变位置参数必须在前。

def fn(*args,**kwargs):print(args)print(kwargs)

fn(1,2,3,x=4,y=5)

#普通参数可以和可变参数一起使用,但是传参的时候必须匹配

def fn(x,y,*args,**kwargs):print(x)print(y)print(args)print(kwargs)

fn(1,2,3,4,5,a=6,b=7)

#关键字可变参数不允许在普通参数之前#下面的方式定义会出错

def fn(**kwargs,x):print(x)

fn(a=1,2)

#默认参数可以在可变位置参数之前

def fn(x=5,*args):print(x)

fn()

参数解构(拆包):

参数解构发生在函数调用的时候,可变参数发生在函数定义的时候。

解构有两种形式:

1.解构符号:*,解构的对象:可迭代对象。解构后的结果:位置参数。

2.解构符号:**,解构的对象:字典。解构的结果:关键字参数。

关键字参数解构,key必须是str类型。

defadd(a,b):return a+b

data= [4,3]print(add(*data))#位置参数解构

data1 = {‘a‘:3,‘b‘:4}print(add(**data1))#关键字参数解构

二、程序练习题

5.2 实现isOdd()函数,参数为整数,如果整数为奇数,返回True,否则返回False。

实现代码如下:

defisOdd(num):if num%2!=0:returnTrueelse:returnFalse

s=eval(input("请输入一个整数:"))print(isOdd(s))

运行结果:

5.3 实现isNum()函数,参数为一个字符串,如果这个字符串属于整数、浮点数或复数的表示,则返回True,否则返回False。

实现代码如下:

defisNum(num):try:

n=type(eval(num))if n==type(1):#输入为整型

returnTrueelif n==type(1.0):#输入为浮点型

returnTrueelif n==type(1+1j):#输入为复数

returnTrueexcept:returnFalse

n=input("请输入一个字符串:")print(isNum(n))

运行结果:

5.4 实现multi()函数,参数个数不限,返回所有参数的乘积。

实现代码如下:

defmulti(s):

m= 1

for i ins:

m*=int(i)returnm

n=input("请输入若干整数:").split()print(multi(n))

运行结果:

5.5 实现isPrime()函数,参数为整数,要有异常处理。如果整数是质数,返回True,否则返回False。

实现代码如下:

defisPrime(num):try:

num=eval(num)if type(num) == type(1):#判断输入是否为整型

if num<=1:#判断一个数字是否是质数:质数是一个只能被自己和1整除的大于1的正整数。注意1不是质数。

returnFalseelif num==2:#2是质数,这里单独作为一个条件是为了与下面的判断条件区分

returnTrueelse:for i in range(2,num):#这里考虑的是大于2的正整数num,将这个数依次除以从2到num-1的整数进行取模运算,只要有一个数使它余数为0就说明它不是质数

if num % i ==0:returnFalseelse:returnTrueelse:raise ValueError#引发ValueError异常

except ValueError:#传入参数异常处理

return "输入有误!请输入整数!"#这里没有使用print语句,如果没有给定return一个返回值,则函数的返回值为None

except:#其他异常处理

return "输入有误!请输入整数!"n= input("请输入一个整数:")print(isPrime(n))

运行结果:

Python参数类型以及实现isOdd函数,isNum函数,multi函数,isPrime函数

python实现isprime函数_Python参数类型以及实现isOdd函数,isNum函数,multi函数,isPrime函数...相关推荐

  1. python函数的参数可以接收哪些类型的数据_Python参数类型以及实现isOdd函数,isNum函数,multi函数,isPrime函数...

    Python参数类型以及实现isOdd函数,isNum函数,multi函数,isPrime函数 一.Python参数类型 形参:定义函数时的参数变量. 实参:调用函数时使用的参数变量. 参数传递的过程 ...

  2. python一些小习题 田字格、isodd、isnum、multi、isprime、绝对素数、哥德巴赫猜想

    Lily学python 一些小习题,答案和我的思路差好多啊,代沟,一定是代沟-- 1.1.定义函数输出一个简单的田字格. 建立主程序,由用户输入一个整数,输出更大的田字格图形. 输出结果: 这个好简单 ...

  3. python函数定义参数类型和返回值类型

    python中我们也可以定义函数的参数类型和返回值类型,如下代码 #函数参数和返回值的类型声明,python函数类型的声明,更加有意义,更加实用一些 def add(a,b):''':param a: ...

  4. python学习之函数的参数类型

    函数的参数类型有很多,比如说:位置参数.默认值参数.关键参数.命名关键参数.可变长度参数 (1)>>> 函数名              查看函数的内存地址 (2)>>& ...

  5. Python基本语法_函数属性 参数类型 偏函数的应用

    目录 目录 前言 软件环境 Python Module的程序入口 函数的属性 Python函数的创建 函数的参数 必备参数 缺省参数 命名参数 不定长参数 匿名参数 偏函数的应用 前言 Python除 ...

  6. Python 自定义函数和参数类型

    目录 1. 自定义函数 2. 参数 (1)必备参数 (2)关键字参数 (3)默认参数 (4)不定长参数 1. 自定义函数 Python 提供了很多内置函数如 set(),  print() 等,用户也 ...

  7. python参数类型_Python 参数类型和参数匹配模型

    Python 方法的参数种类有很多,而不是通常语言定义的那样, Python 方法的传参能力要比想象的强大很多.很多初学者可能对一些库中带 * 带 ** 的参数类型非常奇怪,但是其实这些语法正是保证 ...

  8. python函数的参数类型

    目录 一.必须参数 二.关键字参数 三.默认参数 四.不定长参数 在调用函数时,信息可以作为参数传递给函数,参数在函数名后的括号内指定.python有以下四种参数传递类型: 必需参数 关键字参数 默认 ...

  9. python内置数字类型转换函数_Python学习 Day2-2 Python3的基本数据类型、数据内置类型转换函数...

    Python3的基本数据类型 Python 中的变量不需要声明.每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建. 在 Python 中,变量就是变量,它没有类型,我们所说的"类型& ...

  10. [c++][语言语法]函数模板和模板函数 及参数类型的运行时判断

    参考:http://blog.csdn.net/beyondhaven/article/details/4204345 参考:http://blog.csdn.net/joeblackzqq/arti ...

最新文章

  1. java null转换jason_Java进阶知识,轻松理解Java泛型
  2. 开启物联网的真正潜力需要在更大程度上克服数据挑战
  3. 潜在语义分析(LSA)相关知识
  4. python观察日志(part15)--命名元祖namedtuple
  5. 杭电1262--寻找素数对(打表)
  6. 浅谈mpvue项目目录和文件结构
  7. 如何选择一个Linux发行版本
  8. Android SDK+Eclipse+ADT+CDT+NDK 开发环境在windows 7下的搭建
  9. 偶尔看到的c11新特性1
  10. 安装linux-mysql-yum方式
  11. ERP库存管理 华夏
  12. 湖北省最新测绘资质审批拟批准结果已公示,看看有没有你们公司
  13. Facebook 如何识别出性工作者?
  14. 云宏与英特尔携手发布了基于英特尔®至强®可扩展平台全面升级
  15. 高德地图的点聚合效果下的点的添加和删除
  16. 项目中关于图片上传与剪裁的流程
  17. 2018 ACM-ICPC 宁夏预选赛网赛 B-Goldbach
  18. Unity 用于投掷物品的一阶贝塞尔曲线
  19. pdf文件转图片(java实现)
  20. 乱炖“简书交友”数据之代码(2):关键词抽取、Word2Vec词向量

热门文章

  1. (超详细)张正友标定法原理及公式推导
  2. 计算机在材料科学中的应用上机二,计算机在材料科学与工程中应用综合实验
  3. PHP 每日学习函数之 floatval 函数
  4. 用什么系统搭建nas服务器,自己家里搭建NAS服务器有什么好方案
  5. uview框架u-form表单校验,rules校验对象中对象的值(解决 当form属性嵌套对象时未取到值的问题)
  6. 四招搞定托业(TOEIC)英语阅读
  7. 功能测试主要做什么?
  8. python中读取列表所有元素_python获取所有子元素
  9. 感性负载,容性负载,阻性负载
  10. PDF编辑方法,怎么在PDF中添加图片