在表達(dá)式中引用變量時(shí),Python會(huì)按照如下的順序遍歷各個(gè)作用域,尋找該變量:當(dāng)前函數(shù)作用域任何外圍作用域(比如包含當(dāng)前函數(shù)的其他函數(shù))global作用域,即代碼所在的模塊的作用域如果上述作用域內(nèi)都找不到變量,就會(huì)報(bào)NameError異常。但是對(duì)變量賦值時(shí),規(guī)則會(huì)有所不同。如果當(dāng)前作用域變量已存在,那么其值會(huì)被替換。如果不存在,則會(huì)視為在當(dāng)前作用域定義新變量,而不是向外圍作用域中尋找。如下函數(shù)deffunction():flag=Truedefhelper
系統(tǒng) 2019-09-27 17:46:14 1932
內(nèi)置函數(shù):Built-inFunctionsabs()all()any()ascii()bin()1.abs(x)返回x的絕對(duì)值。參數(shù)可以是整數(shù)或浮點(diǎn)數(shù)。如果參數(shù)是復(fù)數(shù),則返回其大小。importmathprint('abs(45)的值:',abs(45))print('abs(-45)的值:',abs(-45))print('abs(45+23)的值:',abs(45+23))print('abs(math.pi)的值:',abs(math.pi))輸出
系統(tǒng) 2019-09-27 17:46:09 1932
我們熟悉了對(duì)象和類的基本概念。我們將進(jìn)一步拓展,以便能實(shí)際運(yùn)用對(duì)象和類。調(diào)用類的其它信息上一講中提到,在定義方法時(shí),必須有self這一參數(shù)。這個(gè)參數(shù)表示某個(gè)對(duì)象。對(duì)象擁有類的所有性質(zhì),那么我們可以通過self,調(diào)用類屬性。復(fù)制代碼代碼如下:classHuman(object):laugh='hahahaha'defshow_laugh(self):printself.laughdeflaugh_100th(self):foriinrange(100):se
系統(tǒng) 2019-09-27 17:45:55 1932
閉包(closure)是函數(shù)式編程的重要的語法結(jié)構(gòu)。函數(shù)式編程是一種編程范式(而面向過程編程和面向?qū)ο缶幊桃捕际蔷幊谭妒?。在面向過程編程中,我們見到過函數(shù)(function);在面向?qū)ο缶幊讨校覀円娺^對(duì)象(object)。函數(shù)和對(duì)象的根本目的是以某種邏輯方式組織代碼,并提高代碼的可重復(fù)使用性(reusability)。閉包也是一種組織代碼的結(jié)構(gòu),它同樣提高了代碼的可重復(fù)使用性。不同的語言實(shí)現(xiàn)閉包的方式不同。Python以函數(shù)對(duì)象為基礎(chǔ),為閉包這一語法結(jié)
系統(tǒng) 2019-09-27 17:45:45 1932
在python的lib目錄里有一個(gè):this.py,它其實(shí)是隱藏著一首詩,源碼如下:復(fù)制代碼代碼如下:s="""GurMrabsClguba,olGvzCrgrefOrnhgvshyvforggregunahtyl.Rkcyvpvgvforggregunavzcyvpvg.Fvzcyrvforggregunapbzcyrk.Pbzcyrkvforggregunapbzcyvpngrq.Syngvforggregunaarfgrq.Fcnefrvforggr
系統(tǒng) 2019-09-27 17:38:46 1932
1、python多進(jìn)程編程背景python中的多進(jìn)程最大的好處就是充分利用多核cpu的資源,不像python中的多線程,受制于GIL的限制,從而只能進(jìn)行cpu分配,在python的多進(jìn)程中,適合于所有的場合,基本上能用多線程的,那么基本上就能用多進(jìn)程。在進(jìn)行多進(jìn)程編程的時(shí)候,其實(shí)和多線程差不多,在多線程的包threading中,存在一個(gè)線程類Thread,在其中有三種方法來創(chuàng)建一個(gè)線程,啟動(dòng)線程,其實(shí)在多進(jìn)程編程中,存在一個(gè)進(jìn)程類Process,也可以使用
系統(tǒng) 2019-09-27 17:38:21 1932
python中的單引號(hào)雙引號(hào)有什么區(qū)別呢?下面給大家詳細(xì)的介紹一下:先說雙引號(hào)與三引號(hào)的區(qū)別,雙引號(hào)所表示的字符串通常要寫成一行。如:s1="hello,world"如果要寫成多行,那么就要使用\(“連行符”)吧,如:s2="hello,\world"s2與s1是一樣的。如果你用3個(gè)雙引號(hào)的話,就可以直接寫了,如下:s3="""hello,world,hahaha."""相關(guān)推薦:《Python視頻教程》那么s3實(shí)際上就是"hello,\nworld,\n
系統(tǒng) 2019-09-27 17:38:13 1932
為了減少模板加載調(diào)用過程及模板本身的冗余代碼,Django提供了一種使用方便且功能強(qiáng)大的API,用于從磁盤中加載模板,要使用此模板加載API,首先你必須將模板的保存位置告訴框架。設(shè)置的保存文件就是settings.py。如果你是一步步跟隨我們學(xué)習(xí)過來的,馬上打開你的settings.py配置文件,找到TEMPLATE_DIRS這項(xiàng)設(shè)置吧。它的默認(rèn)設(shè)置是一個(gè)空元組(tuple),加上一些自動(dòng)生成的注釋。TEMPLATE_DIRS=(#Putstringshe
系統(tǒng) 2019-09-27 17:37:53 1932
1、raw_input():raw_input()是python的內(nèi)建函數(shù),通過讀取控制臺(tái)的輸入與用戶實(shí)現(xiàn)交互。raw_input()可以讓用戶輸入字符串(即等待用戶輸入內(nèi)容),并存放到一個(gè)變量里。#!/usr/bin/envpython#-*-coding:utf-8-*-#將用戶輸入的內(nèi)容賦值給變量useruser=raw_input("請(qǐng)輸入用戶名:")#將用戶輸入的內(nèi)容賦值給變量pwdpwd=raw_input("請(qǐng)輸入密碼:")#打印輸入的內(nèi)容p
系統(tǒng) 2019-09-27 17:37:51 1932
俗話說“畫人難畫手”,這說明畫手是比較難的,為此我們應(yīng)先了解手的結(jié)構(gòu)。手的結(jié)構(gòu)可分為手掌和手腕兩部分,要將手掌看成一個(gè)不規(guī)則的五邊形,作畫時(shí),先要將這兩部分看作一個(gè)整體,畫出手的邊線,再定出大拇指的位置。要明確每個(gè)手指的長度是各不相同的,手指的關(guān)節(jié)部位要適當(dāng)彎曲,在特寫畫面中,要畫出手指的兩個(gè)關(guān)節(jié),特別要強(qiáng)調(diào)一下拇指和小指的外輪廓線,這樣會(huì)更有立體感。畫手的背面一側(cè)應(yīng)以硬線勾出,以表現(xiàn)骨骼的硬度,手掌一面要以軟線來畫,表現(xiàn)柔軟的質(zhì)感。而手指是很靈活的,所以
系統(tǒng) 2019-08-29 23:35:12 1932