欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python语言之函数(成为python全栈工程师)

程序员文章站 2022-06-30 07:54:23
目录1. 课程目标2. 认识函数2.1 内置函数2.2 自定义函数2.3 例题1二级目录三级目录1. 课程目标2. 认识函数2.1 内置函数2.2 自定义函数return 终止函数并返回相应的值示例>>> def add(x, y):'''This is my first funcyion.'''r = x + yreturn r>>> add(3, 4)7>>> r = add(3,4)>>...

1. 课程目标

python语言之函数(成为python全栈工程师)

2. 认识函数

2.1 内置函数

python语言之函数(成为python全栈工程师)

2.2 自定义函数

python语言之函数(成为python全栈工程师)
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

python语言之函数(成为python全栈工程师)

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 调用方式

python语言之函数(成为python全栈工程师)
示例一:按位置传参

>>> 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 参数与对象关系

python语言之函数(成为python全栈工程师)
python语言之函数(成为python全栈工程师)
示例一
python语言之函数(成为python全栈工程师)
示例二:pass,可用于演示
python语言之函数(成为python全栈工程师)

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()

本文地址:https://blog.csdn.net/qq_41092105/article/details/107105316