python了解
1.使用python的語(yǔ)言的公司
?
YouTube 世界最大的視頻網(wǎng)站,用python開(kāi)發(fā)的
youku,中國(guó)最大的視頻網(wǎng)站
Dropbox美國(guó)最打云存儲(chǔ)網(wǎng)站,python的創(chuàng)始人就在這家公司
Ansible 被Redhat收購(gòu)了,2億美元
騰訊藍(lán)鯨,游戲平臺(tái),開(kāi)源的,如英雄聯(lián)盟
?
?
2.語(yǔ)言全球排名:
Java
C
C++
python(什么都能做)
《普通運(yùn)維人員就是秋后的螞蚱》
?
?
3.語(yǔ)言的算法和設(shè)計(jì)模式:
冒泡,二叉樹,哈希,拆半,
工廠模式,單例模式,亨元模式,代理模式
?
?
4. 編程語(yǔ)言的分類:
編譯型和解釋型
靜態(tài)語(yǔ)言和動(dòng)態(tài)語(yǔ)言
強(qiáng)類型定義語(yǔ)言和弱類型定義語(yǔ)言
?
(1)編譯型:
有一個(gè)負(fù)責(zé)翻譯的程序來(lái)對(duì)我們的源代碼進(jìn)行轉(zhuǎn)換,生成相應(yīng)的可執(zhí)行代碼這就是編譯 (Compile)
負(fù)責(zé)編譯的程序自然就是編譯器
?
如果我們寫的程序代碼都包含在一個(gè)源文件中,那么通常編譯之后就會(huì)直接生成一個(gè)可執(zhí)行文件,C和C++就是這樣,程序運(yùn)行之前要先編譯一下,
才能在運(yùn)行,把源代碼生成一個(gè)機(jī)器碼,這樣就可以運(yùn)行這個(gè)機(jī)器碼和這個(gè)文件,
?
對(duì)于一個(gè)項(xiàng)目來(lái)說(shuō),就是將很多文件的源文件進(jìn)行編譯,然后將這些編譯后的目標(biāo)文件打包成一個(gè)可執(zhí)行的文件,也叫鏈接文件,打包成一個(gè)可執(zhí)行文件又另一程序完成,這個(gè)負(fù)責(zé)鏈接的程序就交鏈接程序
?
?
C和C++典型的編譯型語(yǔ)言 ,在運(yùn)行之前都要進(jìn)行編譯,編譯完成之后進(jìn)行生成一個(gè)可執(zhí)行文件,編譯完成生成的機(jī)器碼就是可執(zhí)行文件。機(jī)器碼就是直接和CPU打交道的
?
?
(2)解釋型:
在程序運(yùn)行前一刻,還只有源代碼沒(méi)有可執(zhí)行程序,而程序每執(zhí)行到源程序的某一條指令,則會(huì)有一個(gè)稱為解釋程序的外殼將源代碼轉(zhuǎn)換成二進(jìn)制嗎以供執(zhí)行,就是不斷的解釋,執(zhí)行,
?
(3)兩者的用處:
前者用在開(kāi)發(fā)操作系統(tǒng),大型應(yīng)用程序,數(shù)據(jù)庫(kù)系統(tǒng)是應(yīng)用,速度快C C++
后者用在一些網(wǎng)頁(yè)腳本,服務(wù)器腳本,速度慢,兼容性強(qiáng)? 如Java?? python
?
java 解釋型語(yǔ)言,但是它又兼具了一些編譯型語(yǔ)言的有點(diǎn),要進(jìn)行一次預(yù)編譯,會(huì)把一部分語(yǔ)言編譯成機(jī)器碼,有很多一部分直接與機(jī)器碼打交道,所以快,比python快
解釋型的語(yǔ)言可移植,比如直接放到Windows上就可以用,但是編譯型的語(yǔ)言需要重新編譯
?
?
2.動(dòng)態(tài)語(yǔ)言和靜態(tài)語(yǔ)言
給動(dòng)態(tài)類型語(yǔ)言編程是,不用給任何變量指定數(shù)據(jù)類型,該語(yǔ)言在第一次賦值給變量時(shí),在內(nèi)部將數(shù)據(jù)類型記錄下來(lái)
如python
靜態(tài)語(yǔ)言:在一開(kāi)始寫程序時(shí)就要聲明變量的數(shù)據(jù)類型,如C C++ C# JAVA
?
3.強(qiáng)類型定義語(yǔ)言和弱類型定義語(yǔ)言
強(qiáng)類型定義語(yǔ)言:一旦一個(gè)變量被指定了數(shù)據(jù)類型,不經(jīng)過(guò)強(qiáng)制轉(zhuǎn)換,就永遠(yuǎn)是這個(gè)數(shù)據(jù)類型,強(qiáng)類型定義語(yǔ)言是類型安全的語(yǔ)言,python JAVA
弱類型定義語(yǔ)言:一個(gè)變量可以賦予不同的數(shù)據(jù)類型,是類型不安全的語(yǔ)言
VBscript,
shell腳本是弱類型定義語(yǔ)言,是類型不安全的語(yǔ)言。定義一個(gè)變量,又能當(dāng)字符串處理,又能當(dāng)數(shù)據(jù)處理
?
5.python優(yōu)缺點(diǎn)
?
容易學(xué)習(xí)
開(kāi)發(fā)效率高,有強(qiáng)大的第三方庫(kù),功能模塊多,可以二次開(kāi)發(fā)
高級(jí)語(yǔ)言
可移植性:如果便面依賴性,可以直接移植到其他平臺(tái)使用
可擴(kuò)展性:可以和C和C++結(jié)合使用
可嵌入性:可以嵌入C或C++里,做腳本
?
?
缺點(diǎn):
速度慢
代碼不能加密,源碼是以明文形式的
python的多線程是沒(méi)法用多CPU內(nèi)核的
?
6.python解釋器:
?
Cpython 應(yīng)用最廣泛
pypy速度快
?
7.python的發(fā)展史
1994年1.0版本
2004年推出2.4版本,同年最流行的WEB框架Django誕生
2008推出的2.6版本既兼容2.4版本有兼容3.0 版本,是一個(gè)過(guò)度的版本
2010的2.7會(huì)支持到2020年
最新版3.5
?
python3里默認(rèn)可以編寫中文的字符了
轉(zhuǎn)載于:https://www.cnblogs.com/Leonardo-li/p/8630483.html
總結(jié)
- 上一篇: 苹果开发者账号如何多人协作进行开发和真机
- 下一篇: 年薪50万的Python架构师不是梦