파이썬 매개 변수 유형 및 기능 구현 ISODD, isNum 기능, 멀티 기능, isPrime 기능

파이썬 매개 변수 유형 및 구현 ISODD의 기능, ISNUM를 사용하여 스캔 , 기능을 멀티 기능을 isPrime의 기능

 

A, 파이썬 매개 변수 유형

파라미터 : 매개 변수 변수를 정의 기능.

인수 : 함수를 호출 할 때 매개 변수가 사용된다.

 

전달 처리 파라미터는, 파라미터의 인자에 대한 참조를 전달하는 프로세스는 함수 본문 인수의 값을 사용하여 수행된다.

에서는 파이썬 , 함수의 인수 / 반환 값은 참조로 전달하여야한다.

함수 호출에서 통상적 파라미터 다른 데이터 처리의 다른 파라미터를 전달한다. 일반적으로 일반 매개 변수, 기본 매개 변수, 변수 위치 매개 변수, 변수 키워드 매개 변수가 있습니다.

 

1. 공통 매개 변수 : 위치 매개 변수에 따라이 매개 변수가 차례로 통과했다.

DEF 추가 (X, Y) :
     리턴 X + Y

인쇄 (추가 (3,4))

 

 

2. 기본 매개 변수를 : 당신이 함수를 정의 할 때, 당신은 매개 변수의 기본값을 할당 할 수 있습니다.

당신이 함수를 호출 할 때, 기본 매개 변수의 값이 전달되지 않은 경우, 함수 내 기본 매개 변수 값.

가장 일반적인 값은 호출 함수를 단순화, 기본 값으로 사용합니다.

상기 파라미터의 값을 판별 할 수없는 경우,이 함수를 호출 할 때, 외부로부터 송신되는 디폴트 값을 특정 값으로 설정해서는 안된다. 하나 개 이상의 기본 매개 변수가있는 경우, 함수를 호출 할 때 통역이 매개 변수 사이의 관계를 알고 할 수 있도록 매개 변수 이름을 지정해야합니다.

 

DEF 추가 (X, Y = 1 ) :
     리턴 X + Y

인쇄 (ADD (2 ))
 프린트 (ADD (2,3))

 

매개 변수가 기본값이있는 경우이 매개 변수를 전달하지 않으면 당신이 호출 할 때, 당신은 기본값을 사용합니다.

참고 : 매개 변수의 기본값은 매개 변수의 기본값은 없습니다 값이 선행되어야로 , 그렇지 않으면 오류가됩니다.

 

 

3. 변수 위치 파라미터 :

매개 변수 전에 매개 변수를 정의 플러스하면 *이 매개 변수가 변수임을 나타냅니다, 당신은 단지 위치에 의해, 튜플을 구성 매개 변수의 수를 수용 할 수 매개 변수 전달합니다. 다음 예는 다음과 같다 :

 

최대, 최소, 매개 변수의 수는 숫자 세트를 찾을 수 있습니다 :

데프 맥스 (* a) :
    m = N = A [0]
     에 대한 X 에서 A :
         만약 x> = m : =의 X
         다른 :
            N = X의
     복귀 m, N, 렌 (a)

B = INPUT ( ' 공백으로 구분 여러 번호를 입력 ' ) .split ()
 전단 (최대 (B의 *))

 

결과 :

 

 

마지막 줄에 관하여 : 인쇄 (최대 (* B)) , B 형 * 역할이 압축 해제되고, 그렇지 않으면 전송은 전체 목록입니다 .

그렇지 않을 경우 * 다음과 같이 출력 결과는 다음과 같습니다

 

 

 

4. 변수 키워드 인수 :

선행 파라미터를 정의 할 때 **을 ,이 매개 변수는 사전을 구성하는 파라미터의 수를 수용 할 수 나타내며 만 키워드 매개 변수를 통과 할 수있다 .

 

사용되는 파라미터를 혼합 :

# 위치 매개 변수는 키워드 인수를 사용할 수 있습니다. 
# 가변 위치 매개 변수 및 키워드 매개 변수 파라미터는 반드시 제 위치에 사용될 때.

데프 FN (* 인수, ** kwargs로) :
     인쇄 (인수)
     인쇄 (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类型

def add(a,b):
    return a+b

data = [4,3]
print(add(*data))#位置参数解构
data1 = {'a':3,'b':4}
print(add(**data1))#关键字参数解构

 

 

 

 

 二、程序练习题

 

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

 

实现代码如下:

def isOdd(num):

    if num%2!=0:

        return True

    else:

        return False


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

print(isOdd(s))        

 

运行结果:

 

 

 

 

 

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

 

实现代码如下:

def isNum(num):

    try:        

        n=type(eval(num))

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

            return True

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

            return True

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

            return True       

    except:

        return False


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

print(isNum(n))

 

运行结果:

 

 

 

 

 

 

 

 

 

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

 

实现代码如下:

def multi(s):

    m = 1

    for i in s:

        m *= int(i)

    return m


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

print(multi(n))

 

运行结果:

 

 

 

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

 

实现代码如下:

def isPrime(num):   

    try:

        num = eval(num)

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

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

                return False

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

                return True

            else:

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

                    if num % i == 0:

                        return False

                    else:

                        return True                     

        else:
    
            raise ValueError#引发ValueError异常

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

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

    except:#其他异常处理

        return "输入有误!请输入整数!"


n = input("请输入一个整数:")

print(isPrime(n))        

 

运行结果:

 

 

 

 

 

 

 

 

추천

출처www.cnblogs.com/BIXIABUMO/p/11667801.html