目录
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
0至
99的素数为:
[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
'''
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()