Day1:python基礎
1.開發環境及其安裝
- python存在2.X和3.X版本;根據需要進行下載;其中2.X需要進行環境變量的配置。3.6最新版本只需要選擇添加到環境變量就可以自動添加。
- 開發工具:cmd命令行,python自帶的GUI,好用的pycharm開發工具,收費的,可以選擇使用免費的版本;
2.Hello World
直接在py文件裏面輸入print ‘Hello World!’ 就可以執行了。不需要其他代碼;
3.數據類型層次結構
在Python中一切數據皆對象。Python的面向對象原理與其他語言不同主要有兩個方面:
- Python中所有的數據值都被封裝在相關對象中。可以把每個對象看成一個盒子(box),不同的對象裝在不同的盒子中。
- Python程序中所有的東西都可以從程序訪問的對象,即使編寫的程序代碼也不例外。
- 每個對象都有一個自己的地址,這個地址可以通過內建函數id()進行查看它的內存地址。相同的對象在內存中只有一份。即id(3)中這個3在運行內存中只有一個。
Python裏的數據類型有7大類:Number,String,List,Tuple,Set,Dictionary,Boolean;集合數人列元字,是
None:一個特殊的常量,用來表示語言意義上的無;
Number:包括int,long,float,complex(複數)虛數單位是j,如1+5j就是複數;由於python是無限精度的所以不會出現數據溢出問題。Number數值類型也是對象,可以通過id()查看內存地址;通過type()來判斷對象的類型。
Bool: True,False兩個表示;使用判斷符號(>,<,==)返回的就是布爾值;Bool是屬於int的子類,繼承自int,故True == 1,False == 0 返回True; 在python2中True ,False不是關鍵字可以進行賦值;
String:在Python中字符串用單引號或雙引號括起來,String類型的鏈接可以通過”+”或者”,”;String和int轉換用str(int)和int(string);
4.變量及其變量命名
變量代表的是某個內存的名字,可以看做內存地址的別名。
- 變量定義不用聲明變量類型;
- 變量命名規範使用駝峯命名:StringNumber(大駝峯);stringNumber(小駝峯);string_number;
- 變量的類型可以隨時改變,根據賦值的類型不同改變爲不同的類型。
- Python同一個運行環境內存中實際對象內容存在唯一性,在內存空間存在後不會再重新創建,以後的變量都指向這一個地址。
5.str常用函數
轉義符 | 意義 |
---|---|
\ |
續行 |
\n |
換行 |
\\ |
反斜槓符 |
內建函數:
內建函數 | 作用 |
---|---|
capitalize() |
字符串首字符大寫 |
string.count(str, beg=0, end=len(string)) |
統計string中字符串中出現str次數 |
string.find(str,0,len(string)) |
在string中查找有沒有str字符串,沒有返回-1;中文可以 |
format() |
格式化字符串 |
string.index(str, beg=0, end=len(string)) |
找不到會拋出異常 |
string.isalnum() |
至少有一個字符,並且都是字符或數字返回True |
string.isdigit() |
是不是數字字符串 |
string.islower() |
判斷是不是全小寫 |
string.isspace() |
只包含空格則返回True |
'str'.join('string') |
以指定的字符串str加入到string每一個字符中間 |
string.lower() |
全轉爲小寫 |
string.lstrip() |
去掉左邊的空字符 |
string.replace(‘old’,'new',count) |
替換指定的字符,count是指定一共替換多少次 |
string.split(str,count) |
以str爲分割符進行分割count是可選項,指定分割多少次 |
6.Number常用函數
python有 math
模塊、cmath
模塊(複數計算);兩種基本一致,區別是一個cmath
用於複數
函數 | 返回值(描述) |
---|---|
abs(-10) or math.fabs(-10) |
取絕對值/返回浮點型絕對值 |
math.ceil(4.1) |
向上取整 |
math.floor(4.2) |
向下取整 |
cmp(x,y) |
x,y比較大小,返回 0 (x==y),1(x>y) , -1(x<y) |
math.exp(x) |
返回自然常量的x次冪 |
math.log(x,base) |
返回對數值,是以base爲底數的,x爲值的對數 |
max() |
返回給定參數的最大值,參數可以是序列 |
pow(x,y) |
x**y |
round(x,[,n]) |
四捨五入,n是保留幾位小數 |
random.choice(sequence) |
從序列中隨機取得一個 |
random.randrange(1,100,3) |
從1,100中取一個3的倍數 |
random.random() |
無參數,隨機生成下一個實數,它在[0,1)範圍內。 |
math.pi |
3.14159265359 |
math.e |
2.71828182846 |
7.List常用函數
list.count()
錯誤種類和解決辦法
以下錯誤的代碼:
name='張三'
age = 20
sex = '男'
hobby = '抽菸,喝酒,燙頭,學習,娛樂,看電影'
print name+','+age+','+sex+','+hobby
print name,age,sex,hobby
print 'what's your name '
print abc
編碼類型不支持:在頭文件上添加上UTF-8
字符串鏈接時類型不一致報錯:1.添加類型轉換2.可以直接使用“,”來直接輸出;
語法錯誤:‘ ’使用時,在字符串中出現一個相同的,導致翻譯器無法識別後面的。可以用轉義字符:\進行轉義
- 未定義的變量:使用變量需要先進行定義,如果是字符串需要加上引號或者雙引號:
參考資料:
你都用 Python 來做什麼? —- “很多有意思的應用”
探索 Python(1): Python 的內置數值類型 —- “內存使用講述”
python對象基本原理 —–”創建對象過程”