国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

有服務(wù)器可以做網(wǎng)站嗎站長(zhǎng)工具是什么意思

有服務(wù)器可以做網(wǎng)站嗎,站長(zhǎng)工具是什么意思,申請(qǐng)商標(biāo)注冊(cè),wordpress10款音樂插件目錄 1.函數(shù)相關(guān)術(shù)語 2.函數(shù)類型分類 3.棧 4.位置參數(shù)和關(guān)鍵字參數(shù) 5.默認(rèn)參數(shù) 6.局部變量和全局變量 7.返回多個(gè)值 8.懷孕函數(shù) 9.匿名函數(shù) 10.可傳遞任意個(gè)數(shù)實(shí)參的函數(shù) 11.函數(shù)地址與函數(shù)接口 12.內(nèi)置函數(shù)修改與函數(shù)包裝 1.函數(shù)相關(guān)術(shù)語 函數(shù)的基本概念有函數(shù)頭…

目錄

1.函數(shù)相關(guān)術(shù)語

2.函數(shù)類型分類

3.棧

4.位置參數(shù)和關(guān)鍵字參數(shù)

5.默認(rèn)參數(shù)

6.局部變量和全局變量

7.返回多個(gè)值

8.懷孕函數(shù)

9.匿名函數(shù)

10.可傳遞任意個(gè)數(shù)實(shí)參的函數(shù)

11.函數(shù)地址與函數(shù)接口

12.內(nèi)置函數(shù)修改與函數(shù)包裝


1.函數(shù)相關(guān)術(shù)語

函數(shù)的基本概念有函數(shù)頭,函數(shù)名,形參和實(shí)參,函數(shù)體,如下圖所示

  • 參數(shù)是可選的,也就是說函數(shù)可以不包含參數(shù),比如 def main():
  • 使用 return result 返回語句來返回一個(gè)值,函數(shù)為帶返回值的函數(shù)。
  • 不使用 return 語句,函數(shù)為不帶返回值的函數(shù)。不用 return 的函數(shù),python 默認(rèn)函數(shù)末尾加上了一個(gè) return None,就是說返回了一個(gè) None,空值。

2.函數(shù)類型分類

帶參數(shù),有返回值的函數(shù)
def myfunc(a, b):result = 0for i in range(a, b + 1):result += ireturn result
不帶參數(shù),無返回值的函數(shù)
def main():print("月滿則虧")print("水滿則溢")print("花滿則衰")print("愛滿則癡")main()  # 執(zhí)行 main()
帶參數(shù),無返回值的函數(shù)
def nprint(n):for i in range(n):print("xxxxxx")print(nprint(2))

3.棧

棧是在函數(shù)調(diào)用時(shí)產(chǎn)生的一個(gè)內(nèi)存區(qū)域,用來存儲(chǔ)函數(shù)的參數(shù)和局部變量的激活記錄。
當(dāng)調(diào)用一個(gè)函數(shù)時(shí),這個(gè)函數(shù)的參數(shù)和局部變量的激活記錄被壓入棧。
當(dāng)這個(gè)函數(shù)執(zhí)行完畢,這些激活記錄將會(huì)被從棧中刪除。

示例代碼

def func(Data1, Data2):Data3 = Data1 * Data2return Data3ret = func(1, 2)

對(duì)于語句ret = func(1, 2),func在調(diào)用時(shí)會(huì)產(chǎn)生一個(gè)棧,實(shí)參傳遞給形參,以及函數(shù)體內(nèi)部的變量激活記錄都會(huì)逐步記錄在棧中(稱為"壓入棧"),函數(shù)調(diào)用完畢,這些記錄會(huì)逐步從棧中清除出去("出棧")。

棧的特點(diǎn):"后進(jìn)先出"。就是最后進(jìn)來的激活記錄先被彈出堆棧。

4.位置參數(shù)和關(guān)鍵字參數(shù)

調(diào)用函數(shù)時(shí),實(shí)參的值傳遞給形參,這個(gè)過程叫做值傳遞。值傳遞有多種方式,比如按默認(rèn)位置,或者使用關(guān)鍵字參數(shù)。比如下面這個(gè)例子中f函數(shù)有3個(gè)關(guān)鍵字參數(shù):x,y,z。

def f(x, y, z):return (x + y) / z# 使用位置參數(shù)調(diào)用函數(shù)
print(f(1, 2, 3))  # 1.0# 使用關(guān)鍵字參數(shù)調(diào)用函數(shù)
print(f(z=2, y=3, x=5))  # 4.0# 同時(shí)使用位置參數(shù)和關(guān)鍵字參數(shù)
print(f(7, z=3, y=2))  # 3.0

注意:調(diào)用函數(shù)時(shí),位置參數(shù)在左邊,關(guān)鍵字參數(shù)在右邊。

5.默認(rèn)參數(shù)

函數(shù)定義時(shí), 形參如果帶有關(guān)鍵字,表示當(dāng)實(shí)參不賦值時(shí),該變量具有默認(rèn)值。
而當(dāng)實(shí)參有賦值時(shí),使用實(shí)參的賦值,而不是用默認(rèn)值。
# 非默認(rèn)值參數(shù)必須在默認(rèn)值參數(shù)之前
def f(x, y=1, z=2):return x + y + zprint(f(1, 1, 1))  # 3
print(f(y=1, x=2, z=3))  # 6
print(f(1, z=3))  # 5

6.局部變量和全局變量

在函數(shù)內(nèi)部定義的變量被稱為局部變量。
在函數(shù)之外創(chuàng)建的變量被稱為全局變量。
使用 global variable 語句將局部變量變?yōu)槿肿兞俊?/span>
示例代碼
x = 1
y = 1
z = 1def f(x):global yx = 2y = 2z = 2f(100)
print(x)  # 1
print(y)  # 2
print(z)  # 1

在以上代碼中:

  • 一開始定義了x和y,它們是全局變量。
  • 然后定義了一個(gè)函數(shù)f,形參有x,注意這里的x為函數(shù)的形參名,跟前面那個(gè)全局變量x不是同一個(gè)
  • 函數(shù)體內(nèi)部先使用了global y語句,它的作用是函數(shù)內(nèi)部等會(huì)如果有y的調(diào)用,則y調(diào)用的是全局變量那個(gè)y。
  • x = 2語句是一個(gè)賦值語句,注意這條賦值語句的x不是全局變量那個(gè)x,是形參變量x,因此全局變量那個(gè)x的值不會(huì)發(fā)生改變,仍為1
  • y = 2語句:由于global y的作用,這里的y是全局變量的那個(gè)y,因此全局變量y的值會(huì)變成2
  • z = 2語句:由于沒有g(shù)lobal z語句,這里的z是函數(shù)內(nèi)部產(chǎn)生的局部變量,因此這里的賦值語句不會(huì)對(duì)全局變量那個(gè)z造成影響。

7.返回多個(gè)值

python 函數(shù)允許返回多個(gè)值。
函數(shù)多個(gè)數(shù)本質(zhì)上是以元組的形式在傳遞值。
def sort(n1, n2):if n1 < n2:return n1, n2return n2, n1print(sort(2, 3))  # (2, 3)
a, b = sort(3, 2)print(a)  # 2
print(b)  # 3def func(num1, num2):return num1 + num2, num1 - num2x = func(2, 3)
print(type(x))  # <class 'tuple'>

8.懷孕函數(shù)

懷孕函數(shù)就是函數(shù)內(nèi)部又定義了一個(gè)函數(shù)。

python 函數(shù)很特殊,可以無限嵌套。
def Test():def TestX():print("hello world")for i in range(3):TestX()Test()

9.匿名函數(shù)

匿名函數(shù)就是函數(shù)的簡(jiǎn)潔表達(dá),使用關(guān)鍵字 lambda 實(shí)現(xiàn)。

# 例子1
myfunc = lambda a, b: a + b
print(myfunc(2, 3))   # 5# 例子2(用來裝逼)
ret = (lambda a, b: a * b)(4, 5)
print(ret)  # 20
(lambda data: print(data))("hello world")  # hello world

10.可傳遞任意個(gè)數(shù)實(shí)參的函數(shù)

在Python中,可以創(chuàng)建一個(gè)函數(shù),它可以接收任意數(shù)量的實(shí)參。這通過使用星號(hào)表達(dá)式()實(shí)現(xiàn)。星號(hào)運(yùn)算符有兩種形式:單星號(hào)(*)和雙星號(hào)(**)。

①單星號(hào)(*):將實(shí)參列表轉(zhuǎn)換為元組。

def mysum(*data):print(type(data))   # <class 'tuple'>ret = 0for x in data:ret += xreturn retprint(mysum(1, 2))  # 3
print(mysum(1, 2, 5, 7))  # 15

②雙星號(hào)(**):將字典轉(zhuǎn)換為關(guān)鍵字參數(shù)。

def mysum(**data):print(type(data))   #  <class 'dict'>ret = 0for key in data:ret += data[key]print(key, data[key])return retprint(mysum(a=2, b=2, c=5, d=7))  # 這里用等號(hào),等號(hào)左邊為關(guān)鍵字,右邊為值print(mysum(x=2, y=3))  # 這里用等號(hào),等號(hào)左邊為關(guān)鍵字,右邊為值

③同時(shí)使用單星號(hào)(*)和雙星號(hào)(**):函數(shù)可以接收任意數(shù)量的實(shí)參,并且可以是以上兩種類型。

def print_args_kwargs(*args, **kwargs):print(args)print(kwargs)print_args_kwargs(1, 2, 3, a=1, b=2, c=3)
# 輸出: (1, 2, 3) {'a': 1, 'b': 2, 'c': 3}

11.函數(shù)地址與函數(shù)接口

函數(shù)的本質(zhì)是一個(gè)地址,可函數(shù)名賦值來實(shí)現(xiàn)相同功能

def myadd(num1, num2):return num1 + num2print(id(myadd))  # 2363817237224
print(type(myadd))  # <class 'function'>go = myadd  # 注意軟件規(guī)范不允許這樣賦值,不然容易出問題
print(id(go), id(myadd))  # id 會(huì)相同
print(type(go), type(myadd))  # 類型都是函數(shù)ret = go(1, 2)
print(ret)  # 3

函數(shù)名賦值實(shí)現(xiàn)函數(shù)的調(diào)用和定義的分離,實(shí)現(xiàn)函數(shù)接口,搭建框架。

# 函數(shù)的定義
def add(x, y):return x + y - 1# 函數(shù)的定義
def minus(x, y):return x - y + 10# 函數(shù)調(diào)用框架
def work(func_name, num1, num2):value = func_name(num1, num2)print(value)for i in range(value):print("hello world")return value + 1# 函數(shù)調(diào)用
work(add, 1, 2)# 函數(shù)調(diào)用
work(minus, 3, 4)

運(yùn)行結(jié)果

2
hello world
hello world
9
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world
hello world

12.內(nèi)置函數(shù)修改與函數(shù)包裝

修改內(nèi)置函數(shù)

import osdef myprint(mystr):os.system("echo ---------------")if mystr.find("python is handsome.") != -1:os.system("echo " + mystr)else:os.system("echo " + "python is handsome!")os.system("echo " + mystr)print = myprint  # 切換函數(shù)的地址
print("hello world")
print("Full love leads to madness")

運(yùn)行結(jié)果

---------------
python is handsome!
hello world
---------------
python is handsome!
Full love leads to madness
函數(shù)包裝
  • 加密 or 保護(hù)費(fèi)
  • 還可以給函數(shù)的使用加密
  • 每次調(diào)用都要輸入密碼才行

示例代碼

import os# 備份原來的函數(shù)地址
backossystem = os.system# 等價(jià)的調(diào)用
# backossystem("notepad")# 需要收費(fèi)的系統(tǒng)
def system_check(mystr):if mystr.find("A") != -1:backossystem(mystr)else:print("請(qǐng)開通會(huì)員否則 " + mystr + " 無法執(zhí)行")# 修改內(nèi)置函數(shù)地址
os.system = system_check
os.system("echo hello world")

運(yùn)行結(jié)果

請(qǐng)開通會(huì)員否則 echo hello world 無法執(zhí)行

end

http://aloenet.com.cn/news/46337.html

相關(guān)文章:

  • 商業(yè)網(wǎng)站建立搜索引擎優(yōu)化seo應(yīng)用
  • 中國(guó)三農(nóng)建設(shè)工作委員會(huì)官方網(wǎng)站深圳網(wǎng)絡(luò)推廣最新招聘
  • 云服務(wù)器可以做網(wǎng)站嗎網(wǎng)絡(luò)營(yíng)銷的一般流程
  • 知名企業(yè)網(wǎng)站建設(shè)哈爾濱網(wǎng)站制作軟件
  • 做鋼材的網(wǎng)站有哪些網(wǎng)站的網(wǎng)站建設(shè)
  • 個(gè)人網(wǎng)站畢業(yè)設(shè)計(jì)搜索關(guān)鍵詞然后排名怎樣提升
  • 國(guó)外兒童社區(qū)網(wǎng)站模板外鏈信息
  • 做微網(wǎng)站迅宇科技網(wǎng)店推廣是什么
  • 做網(wǎng)站的不給做robots文件百度推廣登錄后臺(tái)
  • 在百度上做網(wǎng)站多少錢百度收錄提交
  • 杭州旅游 網(wǎng)站建設(shè)必應(yīng)搜索引擎地址
  • 一個(gè)網(wǎng)站可以做多少個(gè)小程序營(yíng)銷推廣方案
  • 做301跳轉(zhuǎn)會(huì)影響之前網(wǎng)站排名嗎上海谷歌推廣
  • 在國(guó)外網(wǎng)站做中國(guó)旅游推廣百度關(guān)鍵詞熱度排名
  • 什么專業(yè)可以做網(wǎng)站百度店鋪免費(fèi)入駐
  • 學(xué)校定制網(wǎng)站建設(shè)公司深圳優(yōu)化公司高粱seo較
  • 網(wǎng)站建設(shè)注冊(cè)密碼咋弄百度一下百度百科
  • 做網(wǎng)頁(yè)靠哪個(gè)網(wǎng)站賺錢湖南競(jìng)價(jià)優(yōu)化哪家好
  • 服務(wù)器租用網(wǎng)站搜索關(guān)鍵詞排名優(yōu)化軟件
  • 網(wǎng)站 申請(qǐng)百度在線客服中心
  • 邗江區(qū)城鄉(xiāng)建設(shè)局網(wǎng)站數(shù)據(jù)分析軟件
  • 如何在本地安裝部署 wordpress深度優(yōu)化
  • 順德企業(yè)手機(jī)網(wǎng)站建設(shè)廣州seo推廣優(yōu)化
  • 好搜客網(wǎng)站優(yōu)勢(shì)的seo網(wǎng)站優(yōu)化排名
  • 眾云網(wǎng)聯(lián)做的網(wǎng)站效果好嗎網(wǎng)絡(luò)營(yíng)銷外包公司
  • 茂易網(wǎng)站建設(shè)鏈接購(gòu)買平臺(tái)
  • 淮安企業(yè)網(wǎng)站搜一搜
  • wordpress拿站清遠(yuǎn)新聞最新消息
  • b2b平臺(tái)選亞馬遜企業(yè)購(gòu)網(wǎng)站優(yōu)化排名的方法
  • 上海百度關(guān)鍵詞推廣名片seo什么意思