网易《python全栈工程师》1.4.1 函数

    技术2023-07-02  84

    目录

    1. 课程目标2. 认识函数2.1 内置函数2.2 自定义函数2.3 例题12.3.1 题目2.3.2 程序代码2.3.3 运行结果2.3.4 涉及知识,2.3.5 老师代码示例: 3. 调用函数3.1 调用方式3.2 参数与对象关系 4. 作业4.1 题目4.2 程序代码4.3 运行结果4.4 涉及知识

    1. 课程目标

    2. 认识函数

    2.1 内置函数

    2.2 自定义函数

    return 终止函数并返回相应的值 示例

    >>> def add(x, y): ''' This is my first funcyion. ''' r = x + y return r >>> add(3, 4) 7 >>> r = add(3,4) >>> r 7 >>>

    查看帮助文档

    >>> help(add) Help on function add in module __main__: add(x, y) This is my first funcyion. >>> add.__doc__ '\n\tThis is my first funcyion.\n\t' >>> abs.__doc__ 'Return the absolute value of the argument.' >>>

    示例二 调用函数就是执行这个函数

    >>> def my_book(): return "learn Python" >>> my_book() 'learn Python' >>>

    示例三 函数体中,默认添加return 或return None 一般函数中需要添加return的值

    >>> def book(): print('Learn Python') >>> book() Learn Python >>> b = book() Learn Python >>> print(b) None >>>

    示例四 当程序执行到return时就中断程序,并返回return值

    >>> def foo(): print("before return") return print('after return') >>> foo() before return >>>

    2.3 例题1

    2.3.1 题目

    编写函数,查找某个范围内自然数中的素数 ——函数范围为0~99

    2.3.2 程序代码

    ''' 编写函数,查找某个范围内自然数中的素数 ——函数范围为0~99 ''' def search_prime_number(x, y): number = [] for i in range(2, y): for j in range(2, i): if i % j == 0: break else: number.append(i) return number print("请输入您要输入的自然数范围:如2~5,即x=2,y=5") x = int(input("x=")) y = int(input("y=")) print("您输入的自然数范围为{0}~{1}".format(x,y)) z = search_prime_number(x,y+1) print("{0}至{1}的素数为:{2}".format(x,y,z))

    2.3.3 运行结果

    C:\Users\邢程\AppData\Local\Programs\Python\Python38\python.exe "D:/Python 项目/入门/1.4.1_function_example01.py" 请输入您要输入的自然数范围:如2~5,即x=2,y=5 x=0 y=99 您输入的自然数范围为0~99 099的素数为:[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97] Process finished with exit code 0

    2.3.4 涉及知识,

    range()函数

    >>> for i in range(10): print(i) 0 1 2 3 4 5 6 7 8 9 >>> for i in range(2, 5): print(i) 2 3 4 >>>

    for循环

    >>> for i in range(2,2): print(i) >>>

    2.3.5 老师代码示例:

    ''' 编写函数,查找某个范围内自然数中的素数 ——函数范围为0~99 ''' # def search_prime_number(x, y): # number = [] # for i in range(2, y): # for j in range(2, i): # if i % j == 0: # break # else: # number.append(i) # return number # print("请输入您要输入的自然数范围:如2~5,即x=2,y=5") # x = int(input("x=")) # y = int(input("y=")) # print("您输入的自然数范围为{0}~{1}".format(x,y)) # z = search_prime_number(x,y+1) # print("{0}至{1}的素数为:{2}".format(x,y,z)) # 方法一 import math def is_prime1(n): if n <= 1: return False for i in range(2,int(math.sqrt(n)) + 1): if n % i == 0: return False return True # 方法二 def is_prime2(n): if n <= 1: return False i = 2 while i*i <= n: if n % i == 0: return False i += 1 return True # 方法三 from itertools import count def is_prime3(n): if n <= 1: return False for i in count(2): if i * i > n: return True if n % i == 0: return False # 方法四 def is_prime4(n): if n <= 1: return False if n == 2: return True if n % 2 == 0: return False i = 3 while i * i <= n: if n % i == 0: return False i += 2 return True # 方法五 def find_prime(nlst): primes = [] for n in nlst: for x in range(2, n): if n % x == 0: break else: primes.append(n) return primes ns = range(2, 20) print(find_prime(ns)) primes_lst = [i for i in ns if is_prime4(i)] print(primes_lst)

    运行结果

    C:\Users\邢程\AppData\Local\Programs\Python\Python38\python.exe "D:/Python 项目/入门/1.4.1_function_example01.py" [2, 3, 5, 7, 11, 13, 17, 19] [2, 3, 5, 7, 11, 13, 17, 19] Process finished with exit code 0

    3. 调用函数

    3.1 调用方式

    示例一:按位置传参

    >>> def foo(x, y): print("x=", x) print("y=", y) return x + y >>> foo(3, 4) x= 3 y= 4 7 >>> foo(4, 3) x= 4 y= 3 7 >>>

    示例二:根据名称

    >>> def foo(x, y): print("x=", x) print("y=", y) return x + y >>> foo(x=3, y=4) x= 3 y= 4 7 >>> foo(y=4, x=3) x= 3 y= 4 7 >>>

    示例三:函数中提前设置默认值

    >>> def bar(x, y=3): print("x=",x) print("y=", y) return x + y >>> bar(2) x= 2 y= 3 5 >>> bar(2, 6) x= 2 y= 6 8 >>> bar(y=1, x=9) x= 9 y= 1 10 >>>

    3.2 参数与对象关系

    示例一 示例二:pass,可用于演示

    4. 作业

    4.1 题目

    编写函数,对单词中的字母实现以下操作: ——根据参数设置,将单词中的字母转换为大写或者小写 ——返回转化之后的单词

    4.2 程序代码

    ''' 编写函数,对单词中的字母实现以下操作: ——根据参数设置,将单词中的字母转换为大写或者小写 ——返回转化之后的单词 ''' # 函数判断单词是否为全大写,或者全小写, # 全大写则转换为全小写,全小写则转化为全大写 def exchange(word): woed = str(word) if word.islower() == True: print("这个单词为全小写单词:") word = word.upper() return word elif word.isupper() == True: word = word.upper() print("您输入的为全大写单词:") return word word = str(input("请输入一个全大写或者全小写的单词")) word = exchange(word) print("转化后的单词为:",word)

    4.3 运行结果

    C:\Users\邢程\AppData\Local\Programs\Python\Python38\python.exe "D:/Python 项目/入门/1.4.1_function_job.py" 请输入一个全大写或者全小写的单词ABC 您输入的为全大写单词: 转化后的单词为: ABC Process finished with exit code 0

    4.4 涉及知识

    str.isupper() str.islower() str.upper() str.lower()

    Processed: 0.009, SQL: 9