從這一章開始我們正式進入Python語言的學習,通過本章節的學習,我們能掌握Python的基本數據類型,變量的定義和基本用法
Python語言本身
Python語言是由 Guido Van Rossum(吉多·範羅蘇姆)在1989年聖誕節期間為了打發時間,寫了一個新的腳本解釋器,而Python這個名字的由來是因為吉大爺是BBC電視劇——Monty Python飛行馬戲團的愛好者,所以就用Python作為這個腳本解釋器的名稱。Python語言本身也是開源的,經過過這麼多年的發展,到現在最新的版本是3.8。也在計算機各個領域派上了用場
看看人家這個過年過得多充實,創造了一門語言,我過年估計不是在喝酒就是在昏睡,睡醒了又被拉着喝酒,整個一酒囊飯袋之徒
Python語言是完全面向對象的語言,其内部的 函數,模塊,字符串,數字 等等都是以對象形式存在的,"對象" 這個詞我将在後面的章節詳細解釋,在這裡不做說明了
目前Python的主要使用領域有如下所列(包括但不限于):
其實Python語言本身設計風格非常接近僞代碼
僞代碼是指通常用于程序員在讨論分析問題時寫的不受語言語法限制的各種标記,主要用于快速理清思路
而正因為它的這個特性,所以赢得了大量非專業程序員的青睐,這也是這篇文章的絕大部分受衆都是沒有受過編程訓練的原因,于此同時,即使是專業程序員也變得喜歡這門語言,因為它可以讓程序在寫代碼時更多心思花在業務邏輯思考上,而不是語言本身。
下面先給一個c語言的簡單if 條件判斷例子說明這個問題
#include "stdio.h" int age = 18; int main(){ if (age == 18){ printf("花季雨季"); return 0; } }
是不是感覺有點懵?我們再來個Python的例子
age = 17 if age == 17: print('花季雨季')
好了,現在我們看看這兩種語言,誰更像是用人話寫程序?Python的語法确實在很大程度上跟僞代碼非常類似,在這裡到不是說哪種語言更好,而是從入門到角度來講,Python确實更加适合,如果沒有計算機專業背景的同學們選擇用c語言來入門通常會直接從入門到放棄,因為c語言本身其實很簡單,但是它對用戶暴露了大量的計算機底層細節,以至于很多新手一上來就懵逼
數據類型和語句
現在我們開始講Pyhton語言的一些基本數據類型和基本語句吧
先來一個 數據類型 的表格,讓大家先有個直觀的認識
str類型 也就是字符串類型,用來在Pyhton中表示字符的集合。一個字母,一個單詞,一串文字,無論是中文英文拉丁文都可以是字符串,當然我們也可以在字符串裡描述數字内容,這些數字也是作為字符串的一部分,通常字符串用以下形式出現,要注意的是我們需要用單引号或者雙引号把字符串包裹起來,切記不要用輸入法中的全角引号,這會報錯,也是很多新手經常犯的錯誤。
a = "我是字符串" b = '我也是字符串123abc' c = "'我是包含了單引号的字符串123abc'" d = '"我是單引号包含了雙引号的字符串123abc"' print(a) print(b) print(c) print(d)
從輸出結果a和b的變量值我們可以看到,單引号和雙引号包裹字符串從結果上沒有任何區别,之所以有單雙引号的用法,無非是c和d兩個變量的地方,如果我有一段文字 本來就是需要用雙引号包裹文字,然後給用戶顯示的,那麼我該怎麼辦呢,我沒辦法這麼寫
a = ""我是字符串""
這樣系統就會報語法錯誤的,但是我可以用單引号把雙引号也包裹起來
a = '"我是單引号包裹了雙引号的字符串123abc"'
這樣就OK了!
我們剛才在表格裡看到還有三個雙引号的用法,現在我們也來試試
a = """ 你們買西瓜嗎? 買一送一 買西瓜送我這個小傻瓜 """ print(a)
大家明白了嗎?三個雙引号或者三個單引号裡面的字符串内容可以直接輸出多行内容
接下來我們講 int類型
int類型其實就是整型數字,正數和負數都是整型數字,整型數字在不同的編程語言裡取值範圍是不一樣的,在Python3中大家基本可以忽略這個問題,如果一定要知道最大整數是多少可以通過以下方法去查詢一下
import sys print(sys.maxsize)
在我的電腦上結果是 -9223372036854775807 到 9223372036854775807 這個數字取值範圍足以讓我們描述絕大部分場景下的數字了
現在我們搞一些整數來玩玩
print(1 2)
這段代碼簡單直接,應該上過幼兒園的孩子也能明白print函數裡的1 2是什麼意思,是的,屏幕上會正确的顯示計算結果
現在我們再來點複雜的
print(1 2-1*4 9/2)
結果是多少?誰能大聲的告訴我? 沒錯,結果是3.5
在Python中 乘法用 * 号,除法用 / 号
計算機嚴格的遵守了四則混合運算的規則 先乘除,再加減的做法,最後得到了3.5
在後面運算符那個小章節我會給一個Python中運算符的優先級順序,大家簡單記一下即可,不用強行背下來,以後的路還長,編程道路上的各種報錯信息會讓你記憶深刻的
浮點型
關于浮點型,我們可以簡單的理解為就是帶小數點的數據類型即可,浮點型和整數做運算,得到的新數字肯定是浮點型
print(1 1.0) print(2 4.5) print(2 4) print(4*2.5) print(10/3)
以上結果分别會輸出 2.0,6.5,6,10.0,5.0,你猜對了嗎?大家可以親手驗證一下
至于别的數據類型我會在之後的章節講到,各位在新手村的第一天可以不做了解
變量
變量這個概念我在本系列的前言那一章裡簡單的講過,在這裡再正經的解釋一下
變量在計算機領域本質上是存儲在内存中的值,每當我們對一個變量進行賦值時,就會在内存中開辟一塊空間用來存儲它
比如你的計算機内存是8G,當我們定義一個了一個整型變量 x=2 時,Python就會向内存申請一段内存空間用于保存這個變量的值,假設這個變量占據了14個字節,那麼系統可用的内存就會被消耗掉14個字節,當我們一個程序的變量越來越多而且得不到釋放時,就會讓可用内存變少,系統變慢
來一個字節對應關系,具體這些關系是怎麼來的,以後的章節我會詳細闡述
1K=1024字節 1M=1025K 1G=1024M 1T=1024G
在Python中變量的賦值可以用 "=" 号進行賦值,= 号的左邊是變量,右邊是變量的值,值的内容可以是任意數據類型
a = 123 b = "字符串" c = 1002.4 d = a e = b f = c x = a c
想想看,我上面定義的這些變量,打印出來分别是些什麼? 是不是和你想的一樣?
變量的值也可以是變量,我前面說過它可以是任意數據類型
那麼變量為什麼叫變量呢?因為它的值在程序的運行過程中是可變的,讓我們來舉個例子說明
myname = '成都金城武' print(myname) myname = '成都吳彥祖' print(myname)
以上這段代碼我定義了一個變量名為myname,我們會注意到它會根據程序執行的順序先打印金城武,再打印吳彥祖
這就是變量的意義所在,它随時可變
在這裡需要注意的點是,變量如果沒有被定義或者說沒有被賦值,是不能直接使用的,系統會報錯,假設我直接來這麼一句
print(myname)
系統會直接告訴我 myname這個變量未被定義(賦值),所以我們需要記住,任何變量,在使用它之前一定要給它賦值,就像我開始說的變量就像給一個人取名字,這個人的各種屬性都可以用一個變量所代表,就像我們開始定義的myname變量是一個 成都金城武 的字符串,如果我們不用變量定義它,直接 print("成都金城武") 行不行?
當然哦福闊斯,你想怎麼樣都行,問題是如果系統裡要在不同的地方打印幾百次這個字符串,是不是每次都要 print("成都金城武") ? 好吧,就算你說爺是杠頭,就想怎麼寫,那也沒問題。我還想再問如果我哪天品味變了,要把 "成都金城武" 換成 "成都吳彥祖",就是杠爺也要摳腦殼了,你得把這幾百個地方挨個給我替換一遍?
所以如果我在程序開始定義好myname這個變量,然後在需要用到的時候 print(myname),哪怕要在程序幾百個地方都要輸出這個數據,當我想改變輸出結果時,隻需要在一個地方改變myname這個變量的值即可!
最後講講變量名的規則,簡單的說就是
不能用數字開頭,不能用所有的符号開頭(下劃線除外),不能用全角字符開頭
所以到最後,我建議各位設置變量名時盡量以英文,拼音命名即可,取變量名時注意言之有物,不要随意取一個,回頭自己都忘了,導緻程序出現莫名其妙的錯誤即可
關于基本數據類型和變量的概念我先講到這,其實還有很多東西我沒講透,不過不要緊,大家可以先消化一下本章節的内容,我們來日方長,長篇大論,論古說今,今天下課!!!
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!