一、軟件開發(fā)的常識
1.什么是軟件
一系列由特定順序組織起來的計算機數據或者指令
常見的軟件:
? 系統軟件:windows,Linux,mac os
? 應用軟件:QQ,一系列的播放器,一系列的瀏覽器等 app
2.什么是開發(fā)
就是制作軟件的過程
軟件的出現實現了人與計算機之間的交互
交互方式:
? 圖形化界面:通過一些現成的界面完成一些任務
? 命令行方式:在控制臺輸入一些指令珊佣,計算機幫忙完成某件事情
3.DOS命令行
【掌握】 cd 進入指定目錄【文件夾】 cd .. 退回到上一級目錄 cd / 退回到根目錄 dir 列出當前目錄下所有的文件夾以及文件
4.計算機編程語言介紹
人類語言: 人與人溝通的語言 計算機語言: 人與計算機溝通的語言 計算機的組成: 1, 硬件: 如鼠標染服,鍵盤,顯示器,顯卡末秃,內存條陡叠, 硬盤玩郊,主板等計算機設備或部件 2, 操作系統: 基于硬件,用于管理和運行應用程序枉阵,是硬件和軟件的橋梁 3, 軟件: 應用程序, 依賴于運行的操作系統 常見編程語言: C, C++, JAVA, PHP, PYTHON, JS,html,css, Go, Object-C, Swift, 易語言译红。 C: 底層開發(fā), 面向過程,速度快 C++: 面向對象兴溜,嵌入式侦厚,Android底層,做游戲拙徽, 跨平臺 Java: 后端語言, 開發(fā)企業(yè)級系統刨沦,開發(fā)Android C#: 后端語言, 用于Unity3D游戲膘怕,如:王者榮耀 php: 后端語言想诅,號稱世界上最好的語言。 Python: 高層語言岛心,簡單易學来破。 Object-C: 號稱世界上最優(yōu)雅的語言,開發(fā)iOS Swift: 開發(fā)iOS, 開源(開放源代碼) JS: javascript忘古, 前端必備語言 html + css: html:前端的標簽徘禁, css:樣式
二、Python的概述
1.Python語言
python是一種解釋型, 面向對象, 動態(tài)數據類型的高級程序設計語言.
腳本語言:c, js, php, python, jsp, asp
弱類型/強類型 弱類型: a = 10 強類型: int a = 10
python由Guido van Rossum(荷蘭) 于1989年底發(fā)明,第一個公開發(fā)行版發(fā)行于1991年
2.Python的簡介
python是一種解釋性語言: 開發(fā)過程中沒有編譯這個環(huán)節(jié),類似于PHP和JS語言,是腳本語言
是一個交互式語言: 可以在一個python提示符,直接互動執(zhí)行程序
是面向對象語言: python支持面向對象的風格或代碼封裝在對象的編程技術
python是初學者的語言: python對初級程序員而言, 是一種偉大的語言, 他支持廣泛的應用程序開發(fā),從簡單的文字處理到www瀏覽器再到游戲都可以使用python
3.為什么學習Python
python語言排行榜, python的薪資, python的就業(yè)崗位數量, python發(fā)展前景
python應用廣泛
Python 是最接近AI(人工智能)的語言
Python 是跨平臺的【Python程序可以運行在windows存皂、linux晌坤,Macos上逢艘,例如:在windows上書寫的Python程序,可以在linux或者macos上運行】
4.Python發(fā)展史
參考鏈接: http://www.cnblogs.com/vamei/archive/2013/02/06/2892628.html !
Python的作者骤菠,Guido von Rossum它改,是荷蘭人。1982年商乎,Guido從阿姆斯特丹大學(University of Amsterdam)獲得了數學和計算機碩士學位央拖。
1989年,為了打發(fā)圣誕節(jié)假期鹉戚,Guido開始寫Python語言的編譯/解釋器鲜戒, Python來自Guido所摯愛的電視劇Monty Python's Flying Circus (BBC1960-1970年代播放的室內情景幽默劇,以當時的英國生活為素材)抹凳。他希望這個新的語言叫做Python的語言 (python翻譯:蟒蛇)
1991年遏餐,第一個Python編譯器(同時也是解釋器)誕生。它是用C語言實現的赢底。從一出生失都,Python已經具有了:類(class),函數(function)幸冻,異常處理(exception)粹庞,包括列表(list)和詞典(dictionary)在內的核心數據類型,以及模塊(module)為基礎的拓展系統洽损。
5.Python的優(yōu)缺點【了解】
5.1優(yōu)點
簡單:Python是一種代表簡單主義思想的語言
易學:就如同你即將看到的一樣庞溜,Python極其容易上手。前面已經提到了碑定,Python有極其簡單的語法
高層語言:當你用Python語言編寫程序的時候流码,你無需考慮諸如如何管理你的程序使用的內存一類的底層細節(jié)
可移植性:由于它的開源本質,Python已經被移植在許多平臺上
解釋性語言: 類似PHP和JS語言不傅,Python語言寫的程序不需要編譯成二進制代碼而是直接從源代碼運行程序旅掂。 而 編譯性語言比如C或C++寫的程序一般是先從源文件編譯成二進制代碼,再編譯二進制代碼來運行程序访娶。
面向對象:Python既支持面向過程的編程也支持面向對象的編程
可嵌入性:你可以把Python嵌入你的C/C++程序商虐,從而向你的程序用戶提供腳本功能
豐富的庫:Python標準庫確實很龐大。
GUI圖形界面
5.2缺點
強制縮進
運行速度相對較慢崖疤, 因為是高層語言秘车, 打個比方:C語言1s, Java10s, python100s, 但是運行時間都會非辰俸撸快叮趴, 比如c語言0.01ms, python1ms, 網絡消耗1s, 那么c語言1.00001秒, python1.001秒权烧, 所以真正運行程序時相差不大
代碼不能進行加密【源代碼】
6.Python的應用
YouTube:視頻網站
Facebook:社交
知乎
春雨醫(yī)生
Python擅長的區(qū)域
? web開發(fā):
? 爬蟲開發(fā):
? 數據分析:
? 人工智能:算法眯亦,高數
后端開發(fā)伤溉,網站,電子商城妻率,OA系統
三乱顾、數據的存儲
1.思考問題
1.為什么使用計算機
? 為了存儲數據,快速處理數據
2.數據存儲在計算機的什么位置
? 數據存儲在內存(緩存/臨時存儲)中, 存在硬盤(持久化)
3.計算機如何存儲數據的
? 計算機存儲數據【數據包括數字宫静,英文走净,中文,文件等】孤里, 最終是以二進制存儲在硬盤或內存中
? 計算機是如何存儲數字的
2.內存
2.1概述
內存是計算機的組成部分伏伯,作用是與cpu溝通的橋梁,計算機中所有的程序都是在內存中運行
內存【Memory】,內存儲器捌袜,作用暫時存放cpu中的運算數據
2.2抽象理解
一個開關说搅,有兩種狀態(tài),打開或者關閉虏等,在計算機中使用0和1表示
2.3單位
硬盤:1T
計算機中表示數據的最小單位:比特 【bit ----b】,又被稱為位
計算機中處理數據的最小單位:字節(jié)【Byte----B】
單位換算:1B = 8b【掌握】
KB MB GB TB PB EB.....DB
存儲單位 :
? 1byte = 8bit
? 1KB = 1024 byte
? 1MB = 1024 KB
? 1GB = 1024MB
計算機在內存中以二進制的形式存儲數據【主要使用0和1進行表示】【十進制】
3.進制
3.1 什么是進制
a.進制就是進位的制度蜓堕,一種進位的方式
? 例如:十進制:逢十進一
? 二進制:逢二進一
? 八進制,十六進制【是由二進制演變來的】
b. 常見的進制:
? 二進制(0和1)
? 十進制(0~9的整數)
? 八進制(0~7的整數博其,用數字0開頭)
? 十六進制(09和af【不區(qū)分大小寫】,用0x或者0X開頭)
3.2 進制的特點
a.每種進制都有確定的符號集
b.每種進制采用的是位置表示法迂猴,位置不同慕淡,表示的意義不同,值的不同取決于它所在位的權值有關
? 舉例:
? 注意:下面的^表示的是次方
? 145:100 = 10^2
? 761:1 = 10^0
? 817:10 = 10^1
? 145 = 1x10^2 + 4x10^1 + 5x10^0
c.二進制的計算
? 0+0=0
? 1+0=1
? 0+1=1
? 1+1= 10 【逢二進一】
3.3 進制之間的轉換
a.十進制 -> 二進制
? 轉換原理:對十進制進行除2的運算沸毁,直到商為0為止峰髓,然后將各個步驟中得到的余數倒著寫出來.
b.二進制 -> 十進制
? 轉換原理:將二進制按照權展開,相加即可得到十進制
舉例:
? 110 = 1x2^2 + 1x2^1 + 0x2^0 = 4 + 2 = 6
10010110 = 1x2^7 + 1x2^4 + 1x2^2 + 1x2^1= 150c.二進制 -> 八進制
轉換原理:每三位二進制按權展開息尺,相加得到1位八進制携兵,實現思路:從右向左進行分組,每3位為一組搂誉,不足是補0徐紧,將每一組進行二進制轉換十進制的操作,最后將每一組得到的結果連起來
舉例:
? 10010110 -> 010 010 110 -> 2 2 6 -> 226 -> 0226
? 1010001 -> 001 010 001 -> 1 2 1 -> 121 -> 0121
d.二進制 -> 十六進制
轉換原理:每四位二進制按權展開炭懊,相加得到1位八進制并级,實現思路:從右向左進行分組,每4位為一組侮腹,不足是補0嘲碧,將每一組進行二進制轉換十進制的操作,最后將每一組得到的結果連起來
舉例:
? 10010110 -> 1001 0110 -> 9 6 -> 96 -> 0x96
? 1010001 -> 0101 0001 -> 5 1 -> 0x51
? 10111110 -> 1011 1110 -> 11 14 -> b e -> 0xbe
? 111011 -> 0011 1011 -> 3 11 -> 3 b -> 0x3b
e.十進制 -> 八進制或者十六進制
轉換原理:
? 先將十進制轉換為二進制父阻,然后再將二進制轉換為八進制或者十六進制
f.八進制或者十六進制 -> 十進制
轉換原理:
? 將八進制或者十六進制按照權展開愈涩,相加望抽,類似于二進制轉換為十進制
3.4 原碼,反碼,補碼
a. 為什么會出現原碼反碼補碼?
? 數值是正負之分的【原碼反碼補碼主要針對的是負數】
b. 原碼反碼補碼的表示
? 原碼:這個數的二進制表示形式履婉,高位表示符號位煤篙,1表示負數,0表示正數
? 0000 0110
? 反碼:將原碼除了符號位之外進行取反【0 -> 1 , 1 -> 0】
? 補碼:在反碼的基礎上加1【0000 0001】
? 注意:對于一個正數而言谐鼎,原碼舰蟆,反碼以及補碼都是同一個,都是這個數的二進制表示形式
? 6 -> 0000 0110【原碼反碼補碼】
【面試題】計算機底層處理數據采用的原碼狸棍,反碼還是補碼身害?
? 10 + (-10) = 0 【0000 0000】
? 10:0000 1010 -10:1000 1010
驗證: 原碼: 0000 1010 1000 1010 ----------- 1001 0100 -> 結論:計算機底層處理數據的時候采用的不是原碼 反碼: -10的反碼:1000 1010【原】 -> 1111 0101【反】 0000 1010 1111 0101 ---------- 1111 1111 -> 計算機底層處理數據的時候采用的不是反碼 0000 0001【原】 -> 1000 0001【-1原】 -> 1111 1110【-1反】 -> 11111111【-1補】 補碼: -10的補碼:1000 1010【原】 -> 1111 0101【反】 -> 1111 0110【補】 0000 1010 1111 0110 ------------ 10000 0000 -> 1表示溢出 結論:在計算機的底層,處理數據采用的是補碼的形式
4.編碼
123 -10
中國 hello
在計算機底層草戈,會存在映射表,則這個映射表被稱為編碼格式
假設:
a----->1
b----->2
c----->3
h ---->10
abc----->123---->0001 0010 0011
ASCII碼:美國人用的編碼塌鸯, 一個字節(jié)表示 128
? 32~126(共95個)是字符(32是空格),其中48~57為0到9十個阿拉伯數字唐片。
? 65~90為26個大寫英文字母丙猬,97~122號為26個小寫英文字母,其余為一些標點符號费韭、運算符號等茧球。
例如:
? 0的ASCII碼是48 a的ASCII碼是97 A的ASCII碼是65
GBK: 中文編碼
? 韓國, 日本
unicode: 國際編碼星持, 萬國碼
? 占用2個字節(jié)
utf-8 : 以后都是使用這個編碼, 國際編碼, 中文占3個字節(jié)抢埋,比較生疏的中文會占4個字節(jié)
結論:無論數字,中文督暂,英文或者特殊符號在計算機的底層都是轉化為了二進制揪垄,然后進行存儲
5.存儲數據
a.計算機存儲數據的過程:
? 需要先在內存中開辟空間,然后將數據轉化成二進制存入內存. 計算機開辟內存空間的最小單位為字節(jié)
四逻翁、開發(fā)前的準備工作
1.版本問題
目前饥努,Python有兩個版本,Python2.x 和 Python3.x
注意:3.x不兼容2.x
2.環(huán)境安裝
環(huán)境:官網下載
注意:
? a.可以選擇默認路徑八回,也可以選擇自定義路徑酷愧,但是在選擇的時候,勾選add Path【配置環(huán)境變量辽社,好處:每次需要使用Python環(huán)境的時候伟墙,不需要每次都進入到指定的目錄下,在任意的目錄下都可以直接訪問python.exe】
? b.安裝軟件的時候,盡量在文件夾名稱中不要出現中文或者空格
3.編寫Python程序的工具
記事本【文本文檔】
notepad++ Editplus sublime等
PyCharm
Python
五滴铅、第一個Python程序
a, python文件以.py后綴結尾,創(chuàng)建名為hello.py文件
b, 在hello.py中輸入以下內容
print("hello world")
c, 黑屏終端輸入python hello.py 執(zhí)行代碼
六戳葵、Python的編碼規(guī)范
a.在每個語句的后面不要添加分號,每行最好只書寫一條語句
b.括號的使用:運算符中
c.Python中是通過縮進【4個空格】來區(qū)分代碼塊的
d.盡量避免在文件名中出現中文和空格
七汉匙、注釋
注釋在編寫程序的時候拱烁,給代碼添加的一些解釋性的文字
作用:可以提高代碼的可讀性生蚁,以便于以后的參考或者修改
注釋是解釋性文本,在運行程序的時候戏自,會被自動的跳過邦投,不做處理
分類
? 單行注釋:只能注釋掉單行的文字 #xxxxxxx? 多行注釋【塊注釋】:三個單引號或者三個雙引號
注意:對于多行注釋,選用單引號或者雙引號都可以
? 如果單純使用雙引號擅笔,雙引號的注釋不能嵌套
中文的出現形式:字符串志衣,注釋