業(yè)財稅融合大數(shù)據(jù)投融資分析(初級)課件全套 電子 模塊1-3 大數(shù)據(jù)技術(shù)基礎(chǔ)應(yīng)用、投資管理、融資管理_第1頁
業(yè)財稅融合大數(shù)據(jù)投融資分析(初級)課件全套 電子 模塊1-3 大數(shù)據(jù)技術(shù)基礎(chǔ)應(yīng)用、投資管理、融資管理_第2頁
業(yè)財稅融合大數(shù)據(jù)投融資分析(初級)課件全套 電子 模塊1-3 大數(shù)據(jù)技術(shù)基礎(chǔ)應(yīng)用、投資管理、融資管理_第3頁
業(yè)財稅融合大數(shù)據(jù)投融資分析(初級)課件全套 電子 模塊1-3 大數(shù)據(jù)技術(shù)基礎(chǔ)應(yīng)用、投資管理、融資管理_第4頁
業(yè)財稅融合大數(shù)據(jù)投融資分析(初級)課件全套 電子 模塊1-3 大數(shù)據(jù)技術(shù)基礎(chǔ)應(yīng)用、投資管理、融資管理_第5頁
已閱讀5頁,還剩227頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

了解Python大數(shù)據(jù)投融資管理工作任務(wù)一:Python基礎(chǔ)編程Pyhon是著名的“龜叔”GuidovanRossum在1989年圣誕節(jié)期間,為了打發(fā)無聊的圣誕節(jié)而編寫的一個編程語言?,F(xiàn)在,全世界差不多有600多種編程語言,但流行的編程語言也就20來種??偟膩碚f,編程語言各有千秋。C語言是可以用來編寫操作系統(tǒng)的貼近硬件的語言,所以,C語言適合開發(fā)那些追求運(yùn)行速度、充分發(fā)揮硬件性能的程序。而Python是用來編寫應(yīng)用程序的高級編程語言。了解Python一、Python概述Python提供了非常完善的基礎(chǔ)代碼庫,覆蓋了網(wǎng)絡(luò)、文件、GUI、數(shù)據(jù)庫等。文本等大量內(nèi)觸,被形象地稱作“內(nèi)置電池(batteriesincluded)”。用Python開發(fā),許多功能不必從零編寫,直接使用現(xiàn)成的即可。了解Python二、Python的應(yīng)用了解Python除了內(nèi)置的庫外,Python還有大量的第三方庫,也就是別人開發(fā)的,供你直接使用的東西。當(dāng)然,如果你開發(fā)的代碼通過很好的封裝,也可以作為第三方庫給別人使用。許多大型網(wǎng)站就是用Python開發(fā)的,例如YouTube、Instagram,還有國內(nèi)的豆瓣。很多大公司,包括Google、Yahoo等,甚至NASA(美國航空航天局)都大量地使用Python。了解Python三、Python的開發(fā)與應(yīng)用Python適合開發(fā)哪些類型的應(yīng)用呢?首選是網(wǎng)絡(luò)應(yīng)用,包括網(wǎng)站、后臺服務(wù)等;其次是許多日常需要的小工具,包括系統(tǒng)管理員需要的腳本任務(wù)等;另外就是把其他語言開發(fā)的程序再包裝起來,方便使用。優(yōu)點:1.大小寫嚴(yán)格區(qū)分2.簡單、易學(xué)、支持面向?qū)ο?.可開源4.解釋型語言、跨平臺性好5.庫非常豐富了解Python四、Python的特點缺點:1.運(yùn)行速度慢2.代碼不能加密了解Python四、Python的特點Python開發(fā)環(huán)境安裝和配置工作任務(wù)一:Python基礎(chǔ)編程大數(shù)據(jù)投融資管理Python開發(fā)環(huán)境安裝和配置一、開發(fā)環(huán)境本任務(wù)介紹如何在本地搭建Python3開發(fā)環(huán)境。Python3可應(yīng)用于多平臺包括Windows、Linux和MacOSX.目前專一網(wǎng)和云上實訓(xùn)已經(jīng)支持在線編程功能,使用該平臺時可以不用在本地Python環(huán)境,只需了解相關(guān)知識即可。在線安裝教程參考地址:Python3和Pycharm安裝/w3cnote/pycharm-windows-isal.htmlPython開發(fā)環(huán)境安裝和配置二、PyCharm集成開發(fā)環(huán)境安裝集成開發(fā)環(huán)境(IDE):IntegratedDevelopmentEnvironment(1)PyCharm是由JetBrains打造的一款PythonIDE,支持macOS、Windows、Linux系統(tǒng)。(2)PyCharm功能:調(diào)試、語法高亮、Project管理、代碼跳轉(zhuǎn)、智能提示、自動完成單元測試、版本控制等。(3)PyCharm下載地址:/pycharm/(1)MySQL是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞MySQLAB公司開發(fā),目前屬于Oracle公司。MySQL是一種關(guān)聯(lián)數(shù)據(jù)庫管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個大倉庫內(nèi),這樣就增加了速度并提高了靈活性。三、MySQL結(jié)構(gòu)化數(shù)據(jù)庫安裝Python開發(fā)環(huán)境安裝和配置(2)MySQL下載地址:/downloads/mysq/(3)MySQL詳細(xì)安裝教程請參考:/mysql/mysql-install.html.三、MySQL結(jié)構(gòu)化數(shù)據(jù)庫安裝Python開發(fā)環(huán)境安裝和配置Python開發(fā)環(huán)境安裝和配置四、MongoDB非結(jié)構(gòu)化數(shù)據(jù)庫安裝(1)MongoDB是由C++語言編寫的,是一個基于分布式文件存儲的開源數(shù)據(jù)庫系統(tǒng)。在高負(fù)載的情況下,添加更多的節(jié)點,可以保證服務(wù)器性能。MongoDB旨在為WEB應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲解決方案。MongoDB將數(shù)據(jù)存儲為一一個文檔,數(shù)據(jù)結(jié)構(gòu)由鍵值(key=>value)對組成。MongoDB文檔類似于JSON對象。字段值可以包含其他文檔,數(shù)組及文檔數(shù)組。Python開發(fā)環(huán)境安裝和配置四、MongoDB非結(jié)構(gòu)化數(shù)據(jù)庫安裝(2)Mongodb下載地址:/try/download/community(3)Mongodb詳細(xì)安裝教程請參考:/mongodb/mongodb-window-install.htmlPython語法規(guī)則大數(shù)據(jù)投融資管理工作任務(wù)一:Python基礎(chǔ)編程了解了如何啟動和退出Python的交互式環(huán)境,就可以正式開始編寫Python代碼。注意:(1)在寫代碼之前,請千萬不要用“復(fù)制”-“粘貼”把代碼直接從頁面粘貼過來。寫程序需要一個字母一個字母地把代碼敲進(jìn)去。(2)在敲代碼的過程中,初學(xué)者經(jīng)常會敲錯代碼,需要仔細(xì)地檢查、對照,才能以最快的速度掌握如何寫程序。Python語法規(guī)則一、創(chuàng)建第一個Python程序(1)直接輸入代碼在交互式環(huán)境的提示符>>>下,直接輸入代碼,按回車,就可以立刻得到代碼執(zhí)行結(jié)果?!景咐?】輸入100+200,計算出結(jié)果:

>>>100+200

300

任何有效的數(shù)學(xué)計算都可以算出來。Python語法規(guī)則Python語法規(guī)則如果要讓Python打印出指定的文字,可以用print語句,然后把希望打印的文字用單引號或者雙引號括起來,但不能混用單引號和雙引號:【案例2】輸入>>>print’hello,world’hello,world

這種用單引號或者雙引號括起來的文本在程序中叫字符串,今后我們還會經(jīng)常遇到。最后,用exit()退出Python,第一個Python程序完成!唯一的缺憾是沒有保存下來,下次運(yùn)行時還要再輸入一遍代碼。小結(jié):在Python交互式命令行下,可以直接輸入代碼,然后執(zhí)行,并立刻得到結(jié)果。在Python的交互式命令行寫程序,好處是一下就能得到結(jié)果,壞處是沒法保存,下次還想運(yùn)行的時候,還得再敲一遍。在實際開發(fā)的時候,可以使用文本編輯器來寫代碼,寫完了,保存為一個文件,這樣,程序就可以反復(fù)使用了。Python語法規(guī)則(2)使用文本編輯器問題:用什么文本編輯器?推薦兩款文本編輯器:(1)SublimeText,免費(fèi)使用,但是不付費(fèi)會彈出提示框。

(2)Notepad++,免費(fèi)使用,有中文界面。

注意:用哪個都行,但是絕對不能用Word和Windows自帶的記事本。Word保存的不是純文本文件,而記事本會在文件開始的地方加上幾個特殊字符(UTF-8BOM),結(jié)果會導(dǎo)致程序運(yùn)行出現(xiàn)莫名其妙的錯誤。Python語法規(guī)則二、python中的變量賦值單變量賦值:counter=100#賦值整型變量miles=1000.0#浮點型name="John"#字符串多變量賦值:a=b=c=1#三個變量的值都為1a,b,c=1,2,”john”#分別為三個變量賦值Python語法規(guī)則三、Python中的數(shù)據(jù)類型Python語法規(guī)則Python有五個標(biāo)準(zhǔn)的數(shù)據(jù)類型:

(1)Numbers(數(shù)字)(2)String(字符串)(3)List(列表)(4)Tuple(元組)(5)Dictionary(字典)Python語法規(guī)則(1)Numbers(數(shù)字)①不可改變的數(shù)據(jù)類型:

當(dāng)其類型被改變時,將會賦值給-一個新的對象。當(dāng)對變量賦予了數(shù)值后,這個對象就會被創(chuàng)建,可通過del語句刪除對這些對象的引用。②Python支持的數(shù)字類型:int(有符號整型,如0x69,10);long(長整型)也可以代表八進(jìn)制和十六進(jìn)制],如-4721885298529L,L表示長整型);float(浮點型,如70.2E-12);complex(復(fù)數(shù),如4.53e-7j)。Python語法規(guī)則函數(shù)描述int()將x轉(zhuǎn)換為一個整數(shù)f1oat(x)將x轉(zhuǎn)換到一個浮點數(shù)complex()創(chuàng)建一個復(fù)數(shù)str(x)將對象x轉(zhuǎn)換為字符串repr(x)將對象x轉(zhuǎn)換為表達(dá)式字符串eval()用來計算在字符串中的有效Python表達(dá)式,并返回一個對象tuple(s)將序列s轉(zhuǎn)換為一個元組list(s)將序列s轉(zhuǎn)換為一個列表set()轉(zhuǎn)換為可變集合dict(d)創(chuàng)建一個字典。d必須是一個(key,value)元組序列。frozenset()轉(zhuǎn)換為不可變集合chr()將一個整數(shù)轉(zhuǎn)換為一個字符ord()將一個字符轉(zhuǎn)換為它的整數(shù)值hex()將一個整數(shù)轉(zhuǎn)換為一個十六進(jìn)制字符串oct()將一個整數(shù)轉(zhuǎn)換為一個八進(jìn)制字符串表1.1Python數(shù)據(jù)類型轉(zhuǎn)換③Python數(shù)據(jù)類型轉(zhuǎn)換:Python語法規(guī)則表1.2Python數(shù)學(xué)函數(shù)Python數(shù)學(xué)函數(shù)函數(shù)返回值(描述)abs()返回數(shù)字的絕對值,如abs(-10)返回10cei1()返回數(shù)字的向上取整值,如math.cei1(4.1)返回5cmp(x,y)比較函數(shù),如果x<y返回-1,如果x=y返回0,如果x>y返回1exp(x)返回e的x次冪(ex),如math.exp(1)返回2.718281828459045fabs()返回數(shù)字的絕對值,如math.fabs(-10)返回10.0floor()返回向下取整值,如math.f1oor(4.9)返回4log()如math.1og(math.e)返回1.0,math.1og(100,10)返回2.0log10(x)返回以10為基數(shù)的x的對數(shù),如math.1og10(100)返回2.0max(x1,x2,...)返回給定參數(shù)的最大值,參數(shù)可以為序列。min(x1,x2,...)返回給定參數(shù)的最小值,參數(shù)可以為序列。modf(x)返回x的整數(shù)部分與小數(shù)部分,兩部分的數(shù)值符號與x相同,整數(shù)部分以浮點型表示。pow(x,y)x**y_運(yùn)算后的值。round(x[,n])返回浮點數(shù)x的四舍五入值,如給出n值,則代表舍入到小數(shù)點后的位數(shù)。sqrt(x)返回數(shù)字x的平方根Python語法規(guī)則表1.3Python隨機(jī)函數(shù)⑤Python隨機(jī)數(shù)函數(shù)函數(shù)描述choice()

從序列的元素中隨機(jī)挑選一個元素,比如random.choice(range(10)),從0到9中隨機(jī)挑選一個整數(shù)。randrange([start,]stop[,step]從指定范圍內(nèi),按指定基數(shù)遞增的集合中獲取一個隨機(jī)數(shù),基數(shù)缺省值為1。random()隨機(jī)生成下一個實數(shù),它在[o,1)范圍內(nèi)。seed()改變隨機(jī)數(shù)生成器的種子seed。如果你不了解其原理,你不必特別去設(shè)定seed,Python會幫你選擇seed。shuffle()將序列的所有元素隨機(jī)排序uniform(x,y)隨機(jī)生成下一個實數(shù),它在[x,y]范圍內(nèi)。常用于游戲、數(shù)學(xué)安全等領(lǐng)域Python語法規(guī)則表1.4Python三角函數(shù)⑥Python三角函數(shù)函數(shù)描述acos(x)返回x的反余弦弧度值。asin(x)返回x的反正弦弧度值。atan(x)返回x的反正切弧度值。atan2(y,x)返回給定的X及y坐標(biāo)值的反正切值。cos(x)返回x的弧度的余弦值。hypot(x,y)返回歐幾里德范數(shù)sqrt(x*x+y*y).sin(x)返回的x弧度的正弦值。tan(x)返回x弧度的正切值。degrees(x)將弧度轉(zhuǎn)換為角度,如degrees(math.pi/2),返回90.0radians(x)將角度轉(zhuǎn)換為弧度Python語法規(guī)則表1.5Python數(shù)學(xué)常量Python數(shù)學(xué)常量常量描述pi數(shù)學(xué)常量pi(圓周率,一般以工來表示)e數(shù)學(xué)常量e,e即自然常數(shù)(自然常數(shù))。(2)String(字符串)

由數(shù)字、字母、下劃線組成。①字符串截取Python字符串從左至右截取:索引范圍(0,長度-1),從右至左截取(-1,字符串開頭)。

②Python中不存在單字符Python中即使有單字符,也會被當(dāng)作字符串處理。

③Python轉(zhuǎn)義字符Python語法規(guī)則轉(zhuǎn)義字符描述\出現(xiàn)在行尾時表現(xiàn)為續(xù)行符,出現(xiàn)在行中時,用于“翻譯”特殊字符表示特殊含義,如下面選項所示\\反斜杠符號\’單引號\"雙引號\a響鈴\b退格(Backspace)\e轉(zhuǎn)義\000空\n換行\(zhòng)v縱向制表符\t橫向制表符\r回車\f換頁\yyy八進(jìn)制數(shù),yy代表的字符,例如:\o12代表換行\(zhòng)xyy十六進(jìn)制數(shù),yy代表的字符,例如:\x0a代表換行\(zhòng)other其它的字符以普通格式輸出Python語法規(guī)則操作符描述+字符串連接。*重復(fù)輸出字符串。[]通過索引獲取字符串中字符[:]截取字符串中的一部分in成員運(yùn)算符–如果字符串中包含給定的字符返回Truenotin成員運(yùn)算符–如果字符串中不包含給定的字符返回Truer/R原始字符串–原始字符串:所有的字符串都是直接按照字面的意思來使用,沒有轉(zhuǎn)義特殊或不能打印的字符。原始字符串除在字符串的第一個引號前加上字母"r”(可以大小寫)以外,與普通字符串有著幾乎完全相同的語法。④

Python字符串運(yùn)算表1.7

Python字符串運(yùn)算Python語法規(guī)則a='hello'b='world‘print(a+b)

#helloworld,+號連接字符串print(a*2)

#hellohe1lo,*號重復(fù)字符串print(a[1])

#e,口索引字符print(a[1:4])

#ell,[:]截取字符串print(“h”ina)

#True,in是否包含print(“M””notina)

#True,notin是否不包含print(r‘\n‘)

#\n,r原始字符串(不解析轉(zhuǎn)義字符)下表實例變量a值為字符串"hello”,b變量值為"world":Python語法規(guī)則⑤Python字符串格式化(方便print時定義類型,如C語言中printf字符串時在引號內(nèi)寫%s一樣)print("Mynameis%sandweightis%dkg!"%('Zara',21))輸出:MynameisZaraandweightis21kg!符號描述%c格式化字符及其ASCII碼%s格式化字符串%d格式化整數(shù)%u格式化無符號整型%o格式化無符號八進(jìn)制數(shù)%x格式化無符號十六進(jìn)制數(shù)%X格式化無符號十六進(jìn)制數(shù)(大寫)%f格式化浮點數(shù)字,可指定小數(shù)點后的精度表1.8Python字符串格式化Python語法規(guī)則%e用科學(xué)計數(shù)法格式化浮點數(shù)%E作用同%e,用科學(xué)計數(shù)法格式化浮點數(shù)%g%f和%e的簡寫%G%f和E的簡寫%p用十六進(jìn)制數(shù)格式化變量的地址⑥

使用三引號輸出一大串帶特殊字符的字符串當(dāng)使用三引號將字符串框起來時,就不需要再通過轉(zhuǎn)義字符打很多換行符等符號了,可以直接打換行。對比如下:>>>hi=’’’hiThere’’’>>>hi=’hi\nthere’這兩種輸出的結(jié)果都是換行的字符串,但是使用單引號時,當(dāng)轉(zhuǎn)義字符很多時,會很麻煩。Python語法規(guī)則方法描述string.capitalize()把字符串的第一個字符大寫string.center(width)返回一個原字符串居中,并使用空格填充至長

度width的新字符串string.count(str,beg=0,end=len(string))返回str在string里面出現(xiàn)的次數(shù),如果

beg或者_(dá)end指定則返回指定范圍內(nèi)str出現(xiàn)的次數(shù)string.decode(encoding=’UTF-8',

errors='strict')以encoding指定的編碼格式解碼string,

如果出錯默認(rèn)報一個ValueError的異常

,除非errors指定的是‘ignore'

或者'replace'⑦String可使用的內(nèi)建函數(shù)表1.9String可使用的內(nèi)建函數(shù)Python語法規(guī)則string.encode(encoding

=UTF-8',

errors='strict')以encoding指定的癇碼格式編碼string.

如果出錯默認(rèn)報一個ValueError的異常,

除非errors指定的是‘ignore’或

者'replace'string.endswith(obj

beg=o,

end=len(string))檢查字符串是否以obj結(jié)束,如果beg或

首end指定則檢查指定的范圍內(nèi)是否以obj

結(jié)束,如果是,返回True,否則返回False.string.expandtabs(tabs

ize=8)把字符串string中的tab符號轉(zhuǎn)為空

格,tab符號默認(rèn)的空格數(shù)是8.string.find(str,beg=o,

end=len(string))檢測str是否包含在string中,如果beg

和end指定范圍,則檢查是否包含在指定范

圍內(nèi),如果是返回開始的索引值,否則返回-string.format(格式化字符串string.index(str,beg=o

,end=len(string))跟find0方法一樣,只不過如果str不在

string中會報一個異常.string.isalnum()如果string至少有一個字符并且所有字符

都是字母或數(shù)字則返回True。否則返回

Falsestring.isalpha()如果string至少有一個字符并且所有字符

都是字母則返回True。否則返回FalsePython語法規(guī)則string.isdecima1()如果string只包含十進(jìn)制數(shù)字則返回True

否則返回False.string.isdigit()如果string只包含數(shù)字則返回True否則

返回Fa1se.string.is1ower()如果string中包含至少一個區(qū)分大小寫的

字符,并且所有這些(區(qū)分大小寫的)字符都

是小寫,則返回True,否則返回Falsestring.isnumeric(如果string中只包含數(shù)字字符,則返回

True,否則返回Falsestring.isspace()如果string中只包含空格,則返回True,

否則返回False.string.istit1e()如果string是標(biāo)題化的(見tit1e()則返

回True,否則返回Falsestring.isupper()如果string中包含至少一個區(qū)分大小寫的

字符,并且所有這些(區(qū)分大小寫的)字符都

是大寫,則返回True,否則返回Falsestring.join(seq)以string作為分隔符,將seq中所有的元素(的字符串表示)合并為一個新的字符串Python語法規(guī)則string.ljust(width)返回一個原字符串左對齊,并使用空格填充至長度width_的新字符串。string.lower()轉(zhuǎn)換string_中所有大寫字符為小寫。string.lstrip()截掉string左邊的空格。string.maketrans(intab

,outtab])maketrans(方法用于創(chuàng)建字符映射的轉(zhuǎn)換表,對子接受兩個參數(shù)的最簡單的調(diào)用方式,第一個參數(shù)是字符串,表示需要轉(zhuǎn)換的字符,第二個參數(shù)也是字符串表示轉(zhuǎn)換的目標(biāo)。max(str)返回字符串str中最大的字母。min(str)返回字符串str中最小的字母。string.partition(str)有點像find(和split(的結(jié)合體,從str出現(xiàn)的第一個位置起,把字符串string

分成一個3元紊的元組(string_pre_str,str,string_post_str),如果string中不包含str則string_pre_str==string。string.replace(str1,

str2,

num=string.count(str1)把string中的str1普換成str2,如果num指定,則替換不超過num次。string.rfind(str,

beg=0,end=len(string))類似于find(函數(shù),不過是從右邊開始查找。string.rindex(str,|

beg=0,end=len(string))類似子index(,不過是從右邊開始。Python語法規(guī)則string.rjust(width)返回一個原字符串右對齊,并使用空格填充至長度width_的新字符串string.rpartition(str)類似子partition(函數(shù),不過是從右邊開始查找.string.rstripO刪除string字符串末尾的空格.string.split(str="",

num=string.count(str))│以str為分隔符切片string,如果num有指定值,則僅分隔num個子字符串string.splitlines([kee

pends])按照行(lr','lrin,in')分隔,返回一個包含各行作為元紊的列袤,如果參數(shù)keepends為False,不包含換行符,如果為True,則保留換行符。string.startswith(obj,

beg=0,end=len(string))檢查字符串是否是以obj開頭,是則返回True.否則返回False。如果beg和end指定值,則在指定范圍內(nèi)檢查.string.strip([obj])在string上執(zhí)行l(wèi)strip(和rstrip0string.swapcase(O)翻轉(zhuǎn)string中的大小寫string.title()返回"標(biāo)題化”的string.就是說所有單詞都是以大寫開始,其余字母均為小寫〔見istitle0)string.translate(str,d

el="")根據(jù)str給出的表(包含256個字符)轉(zhuǎn)換string的字符,要過濾掉的字符放到del參數(shù)中string.upper()轉(zhuǎn)換string中的小寫字母為大寫string.zfill(width)返回長度為width的字符串,原字符串string_右對齊,前面填充0string.isdecimal()isdecimal(方法檢查字符串是否只包含十進(jìn)制字符。這種方法只存在子unicode對象。Python語法規(guī)則(3)List(列表)

使用非常頻繁,支持?jǐn)?shù)字、字符、字符串甚至列表的集合結(jié)構(gòu)。①增加或刪除列表元素

直接重新賦值給根據(jù)索引值取出的值,或通過append()函數(shù)來添加。通過de1語句刪除列表項,如:dellist1[2]。②列表的腳本操作符

和對字符串的操作類似。Python表達(dá)式結(jié)果描述len([1,2,3])3長度[1,2,3]+[4,5,6][1,2,3,4,5,6]組合['Hi!']*4['Hi!','Hi!’,'Hi!','Hi!']重復(fù)3in[1,2,3]True判斷元素是否存在于列表中forxin[1,2,3]:printx,123迭代表1.10

列表的腳本操作符Python語法規(guī)則Python表達(dá)式結(jié)果描述L[2]'Taobao'讀取列表中第三個元素L[-2]'Runoob'讀取列表中倒數(shù)第二個元素L[1:]['Runoob','Taobao']從第二個元素開始截取列表③列表的截取表1.11列表的截取函數(shù)描述cmp(list1,list2)比較兩個列表的元素len(list)列表元素個數(shù)max(list)返回列表元素最大值min(list)返回列表元素最小值list(seq)將元組轉(zhuǎn)換為列表④Python中列表的函數(shù)及方法Python'包含以下函數(shù):表1.12Python中列表的函數(shù)Python語法規(guī)則函數(shù)描述1ist.append(obj)在列表末尾添加新的對象list.count(obj)統(tǒng)計某個元素在列表中出現(xiàn)的次數(shù)list.extend(seq)在列表末尾一次性追加另一個序列中的多個值〈用新列表擴(kuò)展原來的列表)list.index(obj)從列表中找出某個值第一個匹配項的索引位置list.insert(index,obj)將對象插入列表list.pop(obj=1ist[-1])移除列表中的一個元素(默認(rèn)最后一個元素),并且返回該元素的值list.remove(obj)移除列表中某個值的第一個匹配項list.reverse()反向列表中元素list.sort([func])對原列表進(jìn)行排序Python包含以下方法:表1.13Python中列表的方法Python語法規(guī)則(4)Tuple(元組)①與列表的區(qū)別類似列表,但列表用[]標(biāo)識,元組用()標(biāo)識,并且列表元素可二次賦值,但元組元素不能。②元組的創(chuàng)建創(chuàng)建空元組:tuple().創(chuàng)建只有一個元素的元組:tuple(a,),必須要在元素后加逗號。③元素的訪問雖然創(chuàng)建時用()包含,但是在訪問單個元素時,與列表一樣,通過[索引號]來訪問。④刪除元組元組中的單個元素不能被刪除,但是元組可以通過de1語句整個刪除。⑤元組運(yùn)算符(同列表)⑥任意無符號的對象,以逗號隔開,默認(rèn)為元組(無關(guān)閉分隔符)Python語法規(guī)則函數(shù)描述cmp(tuple1,tuple2)比較兩個元組元素。len(tuple)計算元組元素個數(shù)。max(tup1e)返回元組中元素最大值。min(tuple)返回元組中元素最小值。tuple(seq)將列表轉(zhuǎn)換為元組。⑦元組內(nèi)置函數(shù)表1.14元組內(nèi)置函數(shù)Python語法規(guī)則(5)Dictionary(字典)

①與列表的差別

列表是有序的對象集合,字典是無序的對象結(jié)合。字典中的元素通過Key來獲取,而列表中的元素通過位移來獲取。②字典的定義

下面是兩種定義字典的方法,兩種方法都與列表的定義方法類似。dict={}dict['one']='Thisisone”dict[2]="Thisistwo”tinydict={'name’:’john',’code':6734,'dept‘:’sales’}③數(shù)據(jù)類型的轉(zhuǎn)換Python語法規(guī)則repr(x)將對象x轉(zhuǎn)換為表達(dá)式字符串eval(str)用來計算在字符串中的有效Python表達(dá)式,并返回一個對象tuple(s)將序列s轉(zhuǎn)換為一個元組list(s)將序列s轉(zhuǎn)換為一個列表set(s)轉(zhuǎn)換為可變集合dict(d)創(chuàng)建一個字典。d必須是一個序列(key,value)元組。frozenset(s)轉(zhuǎn)換為不可變集合chr(x)將一個整數(shù)轉(zhuǎn)換為一個字符unichr(x)將一個整數(shù)轉(zhuǎn)換為Unicode字符ord(x)將一個字符轉(zhuǎn)換為它的整數(shù)值hex(x)將一個整數(shù)轉(zhuǎn)換為一個十六進(jìn)制字符串oct(x)將一個整數(shù)轉(zhuǎn)換為一個八進(jìn)制字符串函數(shù)描述int(x[,base])將x轉(zhuǎn)換為一個整數(shù)long(x[,base])將x轉(zhuǎn)換為一個長整數(shù)float(x)將x轉(zhuǎn)換到一個浮點數(shù)complex(rea1[,imag]創(chuàng)建一個復(fù)數(shù)str(x)將對象x轉(zhuǎn)換為字符串表1.15數(shù)據(jù)類型的轉(zhuǎn)換Python語法規(guī)則四、Python標(biāo)識符(1)標(biāo)識符由字母、數(shù)字、下劃線組成,但不能以數(shù)字開頭,且區(qū)分大小寫。(2)以下劃線開頭的標(biāo)識符是有特殊意義的。以單下劃線開頭foo的代表不能直接訪問的類屬性,需通過類提供的接口進(jìn)行訪問,不能用fromxxximport*而導(dǎo)入。(3)以雙下劃線開頭的_foo代表類的私有成員;以雙下劃線開頭和結(jié)尾的_foo_代表Python里特殊方法專用的標(biāo)識,如_init_()代表類的構(gòu)造函數(shù)。(4)Python可以同一行顯示多條語句,方法是用分號:分開。Python語法規(guī)則五、Python中的保留字符

Python中的保留字不能用作常數(shù)或變數(shù),或任何其他標(biāo)識符名稱。所有Python的關(guān)鍵字只包含小寫字母。

and、exec、not、assert、finally、or、break、for、pass、class、from、print、continue、global、raise、def、if、return、de1、import、try、elif、in、while、else、is、with、except、lambda、yieldPython語法規(guī)則六、Python的縮進(jìn)與寫法和是否換行輸出(1)Python中的縮進(jìn)要求非常嚴(yán)格,必須嚴(yán)格對齊。因為Python的代碼塊不由{}控制,而是由縮進(jìn)就可以控制。(2)使用斜杠(\)將一行的語句分為多行顯示,如下所示:當(dāng)然,使用各類括號括起語句之后不需要斜杠換行。total=item_one+\

item_two+\

item_threePython語句大數(shù)據(jù)投融資管理任務(wù)1.1:Python基礎(chǔ)編程Python語句一、條件語句Python不支持switch語句,因此判斷結(jié)果對應(yīng)多種執(zhí)行方式時,只能用elif來做。num=5ifnum=3:#判斷num的值print('boss')elifnum=2:print('user’)elifnum=1:print('worker')Python語句二、循環(huán)語句循環(huán)類型描述while循環(huán)在給定的判斷條件為true時執(zhí)行循環(huán)體,否則退出循環(huán)體for循環(huán)重復(fù)執(zhí)行語句嵌套循環(huán)可以在while循環(huán)體中嵌套for循環(huán)Python中沒有dowhile循環(huán)。表1.24循環(huán)語句Python語句二、循環(huán)語句表1.25循環(huán)控制語句控制語句描述break語句在語句塊執(zhí)行過程中終止循環(huán),并且跳出整個循環(huán)。continue語句在語句塊執(zhí)行過程中終止當(dāng)前循環(huán),跳出該次循環(huán),執(zhí)行下一次循環(huán)。pass語句pass是空語句,是為了保持程序結(jié)構(gòu)的完整性。Python語句(1)pass語句在函數(shù)中的作用

當(dāng)編寫一個程序時,執(zhí)行語句部分思路還沒有完成,這時你可以用pass語句來占位,也可以當(dāng)做是一個標(biāo)記,是要過后來完成的代碼。

比如:defiplaypython():pass

定義一個函數(shù)iplaypython,但函數(shù)體部分暫時還沒有完成,又不能空著不寫內(nèi)融,因此可以用pass來替代占個位置。Python語句(2)pass語句在循環(huán)中的作用

pass也常用于為復(fù)合語句編寫一個空的主體,比如說你想一個while語句的無限循環(huán),每次迭代時不需要任何操作。

比如:whileTrue:pass

以上只是舉例,現(xiàn)實中最好不要寫這樣的代碼,因為執(zhí)行代碼塊為pass也就是空什么也不做,這時python會進(jìn)入死循環(huán)。(3)pass語句用法總結(jié)

1.空語句,什么也不做;

2.在特別的時候用來保證格式或是語義的完整性。Python語句(5)for循環(huán)(可在循環(huán)中使用else語句)

可以通過直接取值選代,也可以通過序列索引迭代?!景咐摹?/p>

取值迭代:

forletterin'Python':#逐個輸出字符串中的字符print('當(dāng)前字母:’,letter)fruits=['banana','apple',’mango’]forfruitinfruits:#逐個輸出列表中的元素print('當(dāng)前水果:’,fruit)print("Goodbye!")Python函數(shù)大數(shù)據(jù)投融資管理任務(wù)1.1:Python基礎(chǔ)編程Python函數(shù)一、讀取鍵盤輸入讀取輸入的行:str=input("請輸入:");print(”你輸入的內(nèi)容是:”,str)input()函數(shù)可以接受Python表達(dá)式的輸入,并輸出表達(dá)式的計算結(jié)果。請輸入:[x*5forxinrange(2,10,2)]你輸入的內(nèi)容是:[10,20,30,40]Python函數(shù)二、打開、關(guān)閉和讀寫文件可以用file對象對大多數(shù)文件進(jìn)行操作。先用Python內(nèi)置的open()函數(shù)打開一個文件,創(chuàng)建一個file對象,相關(guān)的方法才可以調(diào)用它進(jìn)行讀寫。fileobject=open(file_name[,access__mode][,buffering])file_name:file._name變量是一個包含了你要訪問的文件名稱的字符串值。access_mode:access._mode決定了打開文件的模式:只讀,寫入,追加等。所有可取值見如下的完全列表。這個參數(shù)是非強(qiáng)制的,默認(rèn)文件訪問模式為只讀(r)。(1)打開文件Python函數(shù)buffering:如果buffering的值被設(shè)為0,就不會有寄存。如果buffering的值取1,訪問文件時會寄存行。如果將buffering的值設(shè)為大于1的整數(shù),表明了這就是的寄存區(qū)的緩沖大小。如果取負(fù)值,寄存區(qū)的緩沖大小則為系統(tǒng)默認(rèn)。當(dāng)文件不存在但通過open函數(shù)打開時,如果是寫入則會自動創(chuàng)建文件,如果是讀取內(nèi)融則會報錯。Python函數(shù)打開文件的模式描述r以只讀方式打開文件。文件的指針將會放在文件的開頭。這是默認(rèn)模式。rb以二進(jìn)制格式打開一個文件用于只讀。文件指針將會放在文件的開頭。這是默認(rèn)模式。r+打開一個文件用于讀寫。文件指針將會放在文件的開頭。rb+以二進(jìn)制格式打并一個文件用于讀寫。文件指針將會放在文件的開頭。w打開一個文件只用于寫入。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。wb以二進(jìn)制格式打開一個文件只用于寫入。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。w+打開一個文件用于讀寫。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。wb+以二進(jìn)制格式打并一個文件用于讀寫。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。a打開一個文件用于追加。如果該文件已存在,文件指針將會放在文件的結(jié)尾。也就是說,新的內(nèi)融將會被寫入到已有內(nèi)融之后。如果該文件不存在,創(chuàng)建新文件進(jìn)行寫入。ab以二進(jìn)制格式打并一個文件用于追加。如果該文件已存在,文件指針將會放在文件的結(jié)尾。也就是說,新的內(nèi)融將會被寫入到已有內(nèi)融之后。如果該文件不存在,創(chuàng)建新文件進(jìn)行寫入。a+打開一個文件用于讀寫。如果該文件已存在,文件指針將會放在文件的結(jié)尾(不然怎么追加呢)。文件打開時會是追加模式。如果該文件不存在,創(chuàng)建新文件用于讀寫。ab+以二進(jìn)制格式打開一個文件用于追加。如果該文件已存在,文件指針將會放在文件的結(jié)尾。如果該文件不存在,創(chuàng)建新文件用于讀寫。表1.26打開文件Python函數(shù)(2)File對象的屬性文件被打開后就會創(chuàng)建一個File對象。對象屬性描述file.closed返回true如果文件已被關(guān)閉,否則返回false。file.mode返回被打開文件的訪問模式。返回文件的名稱。file.softspace如果用print輸出后,必須跟一個空格符,則返回false。否則返回true。表1.27File對象的屬性Python函數(shù)(3)關(guān)閉文件當(dāng)一個文件對象的引用被重新指定給另一個文件時,Python會關(guān)閉之前的文件(Python會自動地關(guān)閉之前的文件對象,這樣不那么耗費(fèi)內(nèi)存)。用close()方法關(guān)閉文件是一個很好的習(xí)慣。Python函數(shù)(4)讀寫文件(無論讀、寫、還是關(guān)閉文件,都需要先用open打開文件。)#寫一個文件fo=open("foo.txt","wb")fo.write('www.runoob.com!\nVerygoodsite!\n');#關(guān)閉打開的文件fo.close()#讀一個文件fo=open("foo.txt","r+")str=fo.read(10);#這里的參數(shù)10表示的是被讀取的字節(jié)數(shù)print("讀取的字符串是:”,str)#關(guān)閉打開的文件fo.close()Python函數(shù)(5)文件內(nèi)定位tell()方法告訴你文件內(nèi)的當(dāng)前位置(那應(yīng)該就是告訴你文件指針在哪個位置);換句話說,下一次的讀寫會發(fā)生在文件開頭這么多字節(jié)之后。seek(offset[,from])方法改變當(dāng)前文件的位置。Offset變量表示要移動的字節(jié)數(shù)。From變量指定開始移動字節(jié)的參考位置。如果from被設(shè)為0,這意味著將文件的開頭作為移動字節(jié)的參考位置。如果設(shè)為1,則使用當(dāng)前的位置作為參考位置。如果它被設(shè)為2,那么該文件的末尾將作為參考位置。Python函數(shù)#打開一個文件fo=open("foo.txt',”r+’)str=fo.read(10);print(”讀取的字符串是:”str)#查找當(dāng)前位置position=fo.te11();print(”當(dāng)前文件位置:”,position)#把指針再次重新定位到文件開頭position=fo.seek(0,0);str=fo.read(10);print(”重新讀取字符串:”,str)#關(guān)閉打開的文件fo.close()Python函數(shù)三、文件File對象的方法方法描述file.close()關(guān)閉文件。關(guān)閉后文件不能再進(jìn)行讀寫操作。file.flush()刷新文件內(nèi)部緩沖,直接把內(nèi)部緩沖區(qū)的數(shù)據(jù)立刻寫入文件,而不是被動的等待輸出緩沖區(qū)寫入。file.fileno()返回一個整型的文件描述符(filedescriptorFD

整型),可以用在如os模塊的read方法等一些底層操作上。file.isatty()如果文件連接到一個終端設(shè)備返回True,否則返回False。file.next()返回文件下一行。file.read([size])從文件讀取指定的字節(jié)數(shù),如果未給定或為負(fù)則讀取所有。file.readline([size])讀取整行,包括“\n”字符。file.readlines([sizehint])讀取所有行并返回列表,若給定sizeint>0,返

回總和大約為sizeint字節(jié)的行,實際讀取值可

能比sizhint較大,因為需要填充緩沖區(qū)。表1.28文件File對象的方法Python函數(shù)file.seek(offset[,whence])設(shè)置文件當(dāng)前位置file.te11()返回文件當(dāng)前位置。file.truncate([size])截取文件,截取的字節(jié)通過size指定,默認(rèn)為當(dāng)前文件位置。file.write(str)將字符串寫入文件,沒有返回值。file.writelines(sequence)向文件寫入一個序列字符串列表,如果需要換行則要自己加入每行的換行符。Python運(yùn)算符大數(shù)據(jù)投融資管理任務(wù)1.1:Python基礎(chǔ)編程Python運(yùn)算符一、Python算數(shù)運(yùn)算符運(yùn)算符描述實例+加—兩個對象相加a+b輸出結(jié)果30-減——得到負(fù)數(shù)或是一個數(shù)減去另

一個數(shù)a-b輸出結(jié)果-10*乘——兩個數(shù)相乘或是返回一個被重復(fù)若干次的字符串a(chǎn)*b輸出結(jié)果200/除——x除以ybia輸出結(jié)果2〔整數(shù)除整數(shù),只能

得整數(shù),要求小數(shù)需要將其中一個改為浮點數(shù))%取模——返回除法的余數(shù)b%a輸出結(jié)果()**幕——返回x的y次冪a**b為10的20次方,輸出結(jié)果100000000000000000000//取整除——返回商的整數(shù)部分9//2輸出結(jié)果4,9.0//2.0輸出結(jié)果

4.0假設(shè)a=10,b=20表1.16

常見算數(shù)運(yùn)算符Python運(yùn)算符二、Python比較運(yùn)算符運(yùn)算符描述實例==等于—比較對象是否相等(a==b)返回False.!=不等于—比較兩個對象是否不相等(a!=b)返回true.<>不等于—比較兩個對象是否不相等(a<b)返回true。這個

運(yùn)算符類似!=.>大于—返回x是否大于y(a>b)返回False.<小于—返回x是否小于y。所有比較運(yùn)算符返

回1表示真,返回0表示假。這分別與特殊的

變量True和False等價。注意,這些變量名的大寫。(a<b)返回true.>=大于等于—返回x是否大于等于y.(a>=b)返回False.<=小于等于—返回x是否小于等于y.(a<=b)返回true.表1.17常見比較運(yùn)算符假設(shè)a=10,b=20Python運(yùn)算符三、Python賦值運(yùn)算符運(yùn)算符描述實例=簡單的賦值運(yùn)算符c=a+b將a+b的運(yùn)算結(jié)果賦值為c+=加法賦值運(yùn)算符c+=a等效于c=c+a-=減法賦值運(yùn)算符c-=a等效于c=c-a*=乘法賦值運(yùn)算符c*=a等效于c=c*a/=除法賦值運(yùn)算符c/=a等效于c=c/a%=取模賦值運(yùn)算符c%=a等效于c=c%a**=冪賦值運(yùn)算符c**=a等效于c=c**a//=取整除賦值運(yùn)算符c//=a等效于c=c//a假設(shè)a=10,b=20表1.18常見賦值運(yùn)算符Python運(yùn)算符四、Python位運(yùn)算符按位運(yùn)算符是把數(shù)字看作二進(jìn)制來進(jìn)行計算的。Python中的按位運(yùn)算法則如下:運(yùn)算符描述實例&按位與運(yùn)算符:參與運(yùn)算的兩個值,如果兩個相應(yīng)位都為1,則該位的結(jié)果為1,否則為0(a&b)輸出結(jié)果12,二進(jìn)制解釋:00001100|按位或運(yùn)算符:只要對應(yīng)的二個二進(jìn)位有一個為1時,結(jié)果位就為1(a/b)輸出結(jié)果61,二進(jìn)制解釋:00111101^按位異或運(yùn)算符:當(dāng)兩對應(yīng)的二進(jìn)位相異時,結(jié)果為1(a^b)輸出結(jié)果49,二進(jìn)制解

釋:00110001~按位取反運(yùn)算符:對數(shù)據(jù)的每個二進(jìn)制位取反,即把1變?yōu)?,把0變?yōu)?。~x類似|于-x-1(~a)輸出結(jié)果―61,二進(jìn)制解釋:11000011,在一個有符號二進(jìn)制數(shù)的補(bǔ)碼形式。<<左移動運(yùn)算符:運(yùn)算數(shù)的各二進(jìn)位全部左移若干位,由"<<"右邊的數(shù)指定移動的位數(shù),│高位丟棄,低位補(bǔ)0a<<2輸出結(jié)果240,二進(jìn)制解釋:1111000o>>右移動運(yùn)算符:把">>"左邊的運(yùn)算數(shù)的各二進(jìn)位全部右移若干位,">>"右邊的數(shù)指定移│動的位數(shù)a>>2輸出結(jié)果15,二進(jìn)制解釋:00001111表1.19常見位運(yùn)算符假設(shè)a=10,b=20五、Python邏輯運(yùn)算符Python運(yùn)算符運(yùn)算符邏輯表達(dá)式描述實例andxandy布爾"與”–如果x為False,xandy返回False,否則它返回y的計算值(aandb)返回20orxory布爾"或”–如果x是非o,它返回x的值,否則它返回y的計算值(aorb)返回10notnotx布爾"非”–如果x為True,返回False。如果x為False,它返回Truenot(aandb)返回False表1.20

常見邏輯運(yùn)算符假設(shè)a=10,b=20六、Python成員運(yùn)算符Python運(yùn)算符運(yùn)算符描述實例in如果在指定的序列中找到值返回True,否則返回Falsex在y序列中,如果x在y序列中返回Truenotin如果在指定的序列中沒有找到值返回True,否則返回Falsex不在y序列中,如果x不在y序列中返回True表1.21

常見成員運(yùn)算符七、Python身份運(yùn)算符(判斷引用的對象)Python運(yùn)算符is與=的區(qū)別==判斷兩者是否完全相等,而is判斷兩個對象引用的對象是否是同一個。運(yùn)算符描述實例isis是判斷兩個標(biāo)識符是不是引用自一個對象xisy,類似id(x)==id(y),如果引用的是同一個對象則返回True,否則返回Falseisnotisnot是判斷兩個標(biāo)識符是不是引用自不同對象xisnoty,類似id(a)!=id(b)。如果引用的不是同一個對象則返回結(jié)果True,否則返回False。表1.22

常見身份運(yùn)算符八、Python運(yùn)算符優(yōu)先級Python運(yùn)算符運(yùn)算符描述**指數(shù)(最高優(yōu)先級)~+一按位翻轉(zhuǎn),一元加號和減號(最后兩個的方法名為+和一@)*/%//乘,除,取模和取整除+-加法減法>><<右移,左移運(yùn)算符&位'AND'`|位運(yùn)算符<=<>>=比較運(yùn)算符<>==!=等于運(yùn)算符=%=/=//=-=+=*=***=賦值運(yùn)算符isisnot身份運(yùn)算符innotin成員運(yùn)算符notorand邏輯運(yùn)算符表1.23

運(yùn)算符優(yōu)先級Python模塊大數(shù)據(jù)投融資管理任務(wù)1.1:Python基礎(chǔ)編程重點:1.MacLinux使用setuptools,windows使用ez_setup.py2.添加第三方模塊時,添加搜索目錄Python模塊一、安裝第三方模塊在Python中,安裝第三方模塊,是通過setuptools這個工具完成的。在Python中,安裝第三方模塊,是通過setuptools這個工具完成的。如果使用Mac或Linux,安裝setuptools本身這個步驟就可以跳過了。如果使用Windows,請首先從這個地址下載ez_setup.py:https://pypi.python.org/pypi/setuptools#windows下載后,隨便放到一個目錄下,然后運(yùn)行以下命令來安裝setuptools:pythonez_setup.py2.添加第三方模塊時,添加搜索目錄Python模塊在命令提示符窗口下嘗試運(yùn)行easy._install,Windows會提示未找到命令,原因是easy_install.exe所在路徑還沒有被添加到環(huán)境變量Path中。請?zhí)砑覥:\Python27\Scripts到環(huán)境變量Path:圖1-2:編輯系統(tǒng)變量Python模塊Python模塊easy_installPIL耐心等待下載并安裝后,就可以使用PIL了。有了PIL,處理圖片易如反掌。隨便找個圖片生成縮略圖:>>>importImage>>>im=Image.open('test.png')>>>printim.format,im.size,im.mode:PNG(400,300)RGB>>im.thumbnail((200,100)>>im.save('thumb.jpg','JPEG')重新打開命令提示符窗口,就可以運(yùn)行easy_install了:現(xiàn)在,安裝一個第三方庫一PythonImagingLibrary,這是Python下非常強(qiáng)大的處理圖像的工具庫。一般來說,第三方庫都會在Python官方的pypi.python.org網(wǎng)站注冊,要安裝一個第三方庫,必須先知道該庫的名稱,比如PythonImagingLibrary的名稱叫PIL,因此,安裝PythonImagingLibrary的命令就是:Python模塊二、導(dǎo)入模塊的三種方法的區(qū)別(1)import導(dǎo)入importsupport

#導(dǎo)入模塊,并不導(dǎo)入單個函數(shù)。#現(xiàn)在可以調(diào)用模塊里包含的函數(shù)了,但是必須通過模塊名、函數(shù)名的方式調(diào)用。

support.print_func("Runoob")Python模塊二、導(dǎo)入模塊的三種方法的區(qū)別(2)From...import導(dǎo)入下面的語句可以將模塊中的某一部分導(dǎo)入,它只會將里面這個部分單個引入到執(zhí)行這個聲明的模塊的全局符號表。這個部分可以是某個函數(shù)塊,也可以是函數(shù)塊的子函數(shù)塊。frommodnameimportname1[,name2[,....nameN]](3)From...import*導(dǎo)入

前兩種語句都是導(dǎo)入模塊的部分,只是部分導(dǎo)入的位置不同,而使用From-import*則是導(dǎo)入模塊的全部項目,盡量少用,太耗內(nèi)存。Python命名空間和作用域大數(shù)據(jù)投融資管理任務(wù)1.1:Python基礎(chǔ)編程Python模塊一、命名空間變量是擁有匹配對象的名字(標(biāo)識符)。命名空間是一個包含了變量名稱們(鍵)和它們各自相應(yīng)的對象們(值)的字典。每個函數(shù)都會有自己的命名空間,當(dāng)變量出現(xiàn)在函數(shù)內(nèi)部時,Python默認(rèn)其為局部變量,若存在一個與局部變量重名的全局變量,則由局部變量覆蓋全局變量。Python的命名空間分局部命名空間和全局命名空間。Python模塊命名空間一般有三種:①內(nèi)置命名空間(Built-innamespace):Python語言內(nèi)置的名稱,如函數(shù)名abs、char和異常名稱BaseException、Exception等。②全局命名空間(Globalnamespace):模塊中定義的名稱,記錄了模塊的變量,包括函數(shù)、類、Built-innamespace其他導(dǎo)入的模塊、模塊級的變量和常量。③局部命名空間(Localnamespace):函數(shù)中Globalnamespace定義的名稱,記錄了函數(shù)的變量,包括函數(shù)的參數(shù)和局部定義的變量(類中定義的也是如此)。(1)命名空間的類別Python模塊假設(shè)要使用變量chinazdap,則Python的查找順序為:局部命名空間→全局命名空間→內(nèi)置命名空間。如果找不到變量chinazdap,將放棄查找并引發(fā)一個NameError異常:NameError:name'chinazdap'isnotdefined。(2)命名空間查找順序Python模塊命名空間的生命周期取決于對象的作用域,如果對象執(zhí)行完成,則該命名空間的生命周期就結(jié)束。因此,我們無法從外部命名空間訪問內(nèi)部命名空間的對象。示例:#varl是全局名稱varl=7defsome_func():#var2是局部名稱var2=8defsome_inner_func():#var3是內(nèi)嵌的局部名稱var3=9(3)命名空間的生命周期Python模塊二、作用域作用域是作用范圍,是一個Python程序可以直接訪問命名空間的正文區(qū)域。按生效范圍可分為全局作用域和局部作用域。在一個Python程序中,直接訪問一個變量,會從內(nèi)到外依次訪問所有的作用域直到找到該變量,否則會報未定義的錯誤。在Python中,程序的變量并不是在哪個位置都可以被訪問的,訪問權(quán)限決定于這個變量是在哪里被賦值的。Python模塊定義在函數(shù)內(nèi)部的變量擁有一個局部作用域,定義在函數(shù)外的擁有全局作用域。局部變量只能在其被聲明的函數(shù)內(nèi)部被訪問,而全局變量可以在整個程序范圍內(nèi)被訪問。調(diào)用函數(shù)時,所有在函數(shù)內(nèi)聲明的變量名稱都將被加入到作用域中。(1)作用域的類別

變量的作用域決定了在哪一部分程序可以訪問哪個特定的變量。Python的作用域一共有4種。LocalEnclosingGlobalBuilt-inPython模塊(2)作用域的查找順序

Enclosing→Global→Built-in.在局部作用域找不到時,便會去局部作用域外的Enclosing去找,再找不到就會去全局作用域找,還是找不到再去內(nèi)置作用域中找。示例:g_count=0#全局作用域defouter():o_count=1#外部函數(shù)的本地作用域definner():i_count=2#局部作用域Python模塊內(nèi)置作用域是通過一個名為builtin的標(biāo)準(zhǔn)模塊來實現(xiàn)的,但是這個變量名自身并沒有放入內(nèi)置作用域內(nèi),所以必須導(dǎo)入這個文件才能夠使用它。在Python3.0中,可以使用以下的代碼來查看到底預(yù)定義了哪些變量:>>>importbuiltins>>>dir(builtins)Python中只有模塊(module),類(class)及函數(shù)(def、lambda)才會引入新的作用域,其他的代碼塊(如if/elif/else/、try/except、for/while等)是不會引入新的作用域的,也就是說這些語句內(nèi)定義的變量,外部也可以訪問,如下代碼:Python模塊>>>ifTrue:···

msg='IamfromRunoob'···>>>msg'IamfromRunoob'>>>示例中msg變量定義在if語句塊中,但外部還是可以訪問的。如果將msg定義在數(shù)中,則它就是局部變量,外部不能訪問:Python模塊>>>def

test():···

msg_inner='IamfromRunoob'···>>>msg_innerTraceback(mostrecentcalllast):File"<stdin>",line1,in<module>NameError:name'msg_inner'isnotdefined>>>從報錯的信息上看,說明msg_inner未被定義,無法使用,因為它是局部變量,只有在函數(shù)內(nèi)才可以使用。Python模塊三、命名空間和作用域的區(qū)別命名空間是比作用域更大的概念,作用域是在命名空間下的相對概念。打個比方,不同命名空間相當(dāng)于劃定的城市管理范圍(市、區(qū)、街道),不同的作用域相當(dāng)于在哪些城市管理范圍(市、區(qū)、街道)可以順暢通行。當(dāng)這個范圍擴(kuò)大到省或國家的時候,作用域也會相對應(yīng)地擴(kuò)大。了解現(xiàn)金流量大數(shù)據(jù)投融資管理任務(wù)2.1.1:投資現(xiàn)金流量測算內(nèi)容概述1、現(xiàn)金流量

現(xiàn)金流量是投資項目可行性分析的主要對象,凈現(xiàn)值、內(nèi)含報酬率、回收期等財務(wù)評價指標(biāo),均是以現(xiàn)金流量為對象進(jìn)行可行性評價的。利潤只是期間財務(wù)報告的結(jié)果,對于投資方案財務(wù)可行性來說,項目的現(xiàn)金流量狀況比會計期間盈虧狀況更為重要。一個投資項目能否順利進(jìn)行,有無經(jīng)濟(jì)上的效益,不一定取決于有無會計期間利潤,而在于能否帶來正現(xiàn)金流量,即整個項目能否獲得超過項目投資的現(xiàn)金回收。了解現(xiàn)金流量一、現(xiàn)金流量概念2、凈現(xiàn)金流量

是指在項目計算期內(nèi)由每年現(xiàn)金流入量與同年現(xiàn)金流出量之間的差額所形成的序列指標(biāo),它是計算項目投資決策評價指標(biāo)的重要依據(jù)。某年凈現(xiàn)金流量(MCF)=該年的現(xiàn)金流入量(CI)-該年的現(xiàn)金流出量(CO)了解現(xiàn)金流量運(yùn)營期內(nèi)和建設(shè)期內(nèi)都存在凈現(xiàn)金流量與計算期不同階段上的現(xiàn)金流入量和現(xiàn)金流出量發(fā)生的可能性不同,使得各階段上的凈現(xiàn)金流量在數(shù)值上表現(xiàn)出不同的特點,如建設(shè)期內(nèi)的凈現(xiàn)金流量一般小于或等于零;在營運(yùn)期內(nèi)的凈現(xiàn)金流量則多為正值了解現(xiàn)金流量1)特征

稅前凈現(xiàn)金流量。不受籌資方案和所得稅政策變化的影響,是全面反映投資項目方案本身財務(wù)獲利能流利的基本數(shù)據(jù)。計算時,現(xiàn)金流出量的內(nèi)融中不考慮調(diào)整所得因素。稅后凈現(xiàn)金流量。將所得稅視為現(xiàn)金流出,可用與評價在考慮所得稅因素時項目投資對企業(yè)價值所作的貢獻(xiàn)。

稅后凈現(xiàn)金流量=稅前凈現(xiàn)金流量-調(diào)整所得稅了解現(xiàn)金流量2)形式1)投資項目類型的假設(shè)2)財務(wù)可行性分析假設(shè)3)全投資假設(shè)4)產(chǎn)銷平衡假設(shè)5)經(jīng)營期與折舊年限一致假設(shè)6)時點指標(biāo)假設(shè)7)確定性因素假設(shè)8)建設(shè)期投入全部資金假設(shè)了解現(xiàn)金流量3、現(xiàn)金流量的假設(shè)前提大數(shù)據(jù)投融資管理任務(wù)2.1.2:投資現(xiàn)金流量的構(gòu)成及測算方法按現(xiàn)金流量的時間特征,可分為:初始現(xiàn)金流量

是指開始投資時發(fā)生的現(xiàn)金流量,一般包括固定資產(chǎn)投資、無形資產(chǎn)投資、開辦費(fèi)投資、流動資金投資和原有固定資產(chǎn)的變價收入營業(yè)現(xiàn)金流量

是指投資項目投入使用后在其壽命周期內(nèi)由生產(chǎn)經(jīng)營所帶來的現(xiàn)金流入和現(xiàn)金流出的數(shù)量。主要包括營業(yè)收入、經(jīng)營成本、稅金及附加、所得稅等。終結(jié)現(xiàn)金流量

是指投資項目完成時所發(fā)生的現(xiàn)金流量,主要包括固定資產(chǎn)的殘值收入和變現(xiàn)收入、收入回墊的流動資金等了解現(xiàn)金流量一、現(xiàn)金流量的構(gòu)成1)現(xiàn)金流入量的估算(1)營業(yè)收入營業(yè)收入應(yīng)按照項目在經(jīng)營期內(nèi)有關(guān)產(chǎn)品的各年預(yù)計單價和預(yù)測銷售量進(jìn)行估算(不含增值稅、銷售折扣和折讓)。此外,作為經(jīng)營期現(xiàn)金流入量的主要項目,本應(yīng)按當(dāng)期現(xiàn)銷收入額與回收以前期應(yīng)收賬款的合計數(shù)確認(rèn)。但為簡化核算,一般假定每期發(fā)生的賒銷額與回收的應(yīng)收賬款大體相等。(2)補(bǔ)貼收入

是與運(yùn)營期收益有關(guān)的政府補(bǔ)貼,可根據(jù)政策退還的增值稅、按銷量或工作量分期計算的定額補(bǔ)貼和財政補(bǔ)貼等予以估算。二、現(xiàn)金流量的估算了解現(xiàn)金流量(3)回收固定資產(chǎn)余值的估算按主要固定資產(chǎn)的原值乘以其法定凈殘值率即可估算出在終結(jié)點發(fā)生的回收固定資產(chǎn)余值。更新改造項目需要估算兩次:一次是建設(shè)期發(fā)生起點變賣舊設(shè)備的變現(xiàn)凈值,一次是在項目終結(jié)點的新設(shè)備凈殘值。(4)回收流動資金的估算在終結(jié)點一次回收的流動資金應(yīng)等于各年墊支的流動資金投資額合計數(shù)了解現(xiàn)金流量(1)建設(shè)投資的估算

主要應(yīng)當(dāng)根據(jù)項目規(guī)模和投資計劃所確定的各項建筑工程費(fèi)用、設(shè)備購置成本、安裝工程費(fèi)用和其他

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論