日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python实现函数ifodd_09-Python笔记整理(函数)

發布時間:2025/3/13 python 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python实现函数ifodd_09-Python笔记整理(函数) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

函數也是對象

函數的返回值

1.函數的返回值:

a.就是函數返回給調用者的值

b.就是return關鍵字后面的表達式的值

c.就是函數調用表達式的值

python中每個函數都是有返回值的,返回值就是return后面的值

如果函數里面沒有return 那么函數的返回值默認為None

函數的調用:

a.先回到函數調用的位置

b.用實參給形參賦值(傳參)

c.執行函數體

d.執行完后,將返回值返回給函數調用表達式

e.回到函數調用的位置

2.return關鍵字

a:將return后面的值,返回給函數調用表達式

b.結束函數

3.函數的結束:

a.函數體執行完成

b.遇到return

練習:寫一個函數,求1+2+3+...+N,和不能大于10000

def my_sum2():

sum1 = 0

number = 1

while True:

if sum1 + number >= 10000:

return sum1, number-1

# python中函數可以有多個返回值,在return后面返回多個值,每個值之間用逗號隔開。返回值是一個元祖

sum1 += number

number += 1

print(my_sum2())

(9870, 140)

函數作用域

作用域:一個變量可以使用的范圍,就是這個變量的作用域(函數和類可以影響變量的作用域)

全局變量:從聲明開始,到文件結束都可以使用

局部變量:從函數中聲明的變量是局部變量,作用域是從聲明開始到函數結束

#1.全局變量

a = 10 # 這是一個全局變量

def func1():

print(a)

for x in range(3):

b = 10 # b也是全局變量

print(a)

#2.局部變量

def func3():

aaa =100 #這里是局部變量

print(aaa) #會報錯

#如果全局變量名和局部變量名相同,在函數中使用的是局部變量

abc ='abc'

bcd = 'bcd'

def func4():

abc = 100

global bcd

bcd = 200

print(bcd)

func4()

print(abc)

print(bcd)

200

abc

200

nonlocal:在函數中聲明函數的時候,才需要使用

def func11():

a_11 = 10

print('外部:', a_11)

# python中函數里面可以聲明函數

def func12():

nonlocal a_11 # 使用nonlocal修飾后的變量還是局部變量

a_11 = 100

print('內部:', a_11)

print('內部函數')

func12()

print('外部:', a_11)

func11()

外部: 10

內部: 100

內部函數

外部: 100

匿名函數

匿名函數:本質函數函數,以另外一種簡單的方式來聲明

lambda 參數列表:返回值

1.匿名函數有個限制,就是只能有一個表達式,不用寫return,返回值就是該表達式的結果。

2.用匿名函數有個好處,因為函數沒有名字,不必擔心函數名沖突。此外,匿名函數也是一個函數對象,也可以把匿名函數賦值給一個變量,再利用變量來調用該函數:

f = lambda x: x * x

f

at 0x101c6ef28>

f(5)

25

funcs =[]

for i in range(5):

funcs.append(lambda x:x*i)

# lambda 2: 2*4

print(funcs[2](2))

print(funcs[4](2))

print(id(funcs[4](2)))

print(id(funcs[2](2)))

8

8

140716288890112

140716288890112

請用匿名函數改造下面的代碼

def is_odd(n):

return n % 2 == 1

L = list(filter(is_odd, range(1, 20)))

L = list(filter(lambda n: n % 2 == 1, range(1, 20)))

print(L) # [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]

函數作為變量

(了解)

1.聲明一個函數就是在聲明一個變量。函數名可以當成變量來使用。類型是:function

可以打印,可以賦值,可以查看類型,可以作為函數的參數,可以作為函數的返回值

def func1(a):

print(a)

return 10

# 將函數func1作為列表的元素

functions = [func1, func1(10)]

functions[0]('abc')

abc

#1.將函數作為參數

def my_sum(*numbers):

numbers = (10, 20)

sum1 = 0

for item in numbers:

sum1 += item

return sum1

def my_mul(*numbers):

sum1 = 1

for item in numbers:

sum1 *= item

return sum1

def operation(method, *numbers):

method = my_sum

numbers = (10,20)

return my_sum((10, 20, 30))

a = ('1', 100, 'c')

print(*a)

print(*numbers)

return method(*numbers)

python中三目運算符(?:)

值1 if 表達式 else 值2 ---> 判斷表達式是否為True,為True整個表達式的結果是'值1',否則是'值2'

寫一個函數有個參數,要求傳入一個運算符號(+,-,*,>,

+ ——-> 求和功能

- --->求差功能

def funb(x, y):

return x+y

def get_method(char):

if char == '+':

return funb

elif char == '-':

def func(m, n):

return m - n

return func

elif char == '*':

return lambda x,y:x*y

elif char == '>':

def func(x, y):

return x > y

return func

elif char == '

return lambda x, y: x < y

else:

def func(x, y):

return None

return func

print(get_method('+')(10, 20))

print(get_method('-')(10, 20))

print(get_method('%')(10, 20))

30

-10

遞歸

遞歸函數:在函數體中調用函數本身

循環能做的事情,遞歸都可以做

怎么寫一個遞歸函數

a.找臨界值(跳出循環-> retrun)

b.找關系:假設當前函數的對應功能已經實現 找到f(n)和f(n-1)的關系

c.通過使用f(n-1)與前面b找到的關系實現f(n)的功能

對遞歸的要求:能不用就不用

函數調用的過程是一個壓棧的過程(每調用一次函數,系統都要為其分配內存空間,

用來存儲函數中聲明變量和參數等,這個內存在函數調用結束后會自動銷毀)

寫一個遞歸函數實現:1+2+3+n

def sum2(n):

if n==1:

return 1

if n>1:

return sum2(n-1)+n

print(sum2(10))

55

用遞歸求246*...n(n是偶數)

def mul(n):

if n==2:

return 2

return mul(n-2)*n

print(mul(6))

48

用遞歸函數實現以下功能

n = 3

***

**

*

n = 4

****

***

**

*

def print_star(n):

if n==1:

print('*')

return n

else:

print_star(n - 1)

print('*'*n)

print_star(4)

總結

以上是生活随笔為你收集整理的python实现函数ifodd_09-Python笔记整理(函数)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。