当前位置: 移动技术网 > IT编程>脚本编程>Python > python语言之函数(成为python全栈工程师)

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

2020年07月05日  | 移动技术网IT编程  | 我要评论
目录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. 课程目标

课程目标

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

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

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

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网