1.解釋運行
python 是一種半編譯半解釋的語言,python解釋器會按行讀取源代碼文件,然後會先將源代碼轉
爲供python計時器直接執行的“字節碼”。然後再執行字節碼
執行一個.py文件後,會生成一個同名的.pyc文件,這個文件就是python解釋器生成的字節碼文件,
如果已經存在了.pyc文件,那麼就不需要再翻譯一次了,這樣也提高了效率
2.跨平臺
python是基於python的解釋器來進行執行的,只要某個操作系統/平臺上能運行pythoni卷解釋器
就可以完美的於逆行python的源代碼。
3.可擴展性
可以調用其他語言,可以用C/C++重構,用python調用
4.可嵌入
python的代碼也可以嵌入到C/C++中執行
5.豐富的庫
有很龐大的標準庫、第三方庫
6.python的缺點:
執行效率低
二. python的一些小語法
1. 註釋是用#
變量不需要聲明、語句後面也不需要;
2.註釋的#後面需要有一個空格。
可以支持註釋寫中文、得在代碼開頭寫這一句
4.編譯運行python代碼
![]()
5. 不支持自增、自減
6. 靜態類型(c、c++、java等) (運行時不能修改變量的類型)
動態類型(運行時可以支持修改變量的類型)
7. 變量命名規則:
變量名必須是字母、數字,下劃線,但是不能用數字開頭。
變量名區分大小寫
變量名要做到見名知意
8.python中沒有字符概念,只有字符串。所以python支持' ' , " "都用於字符串。可以用來輸出單引號、
雙引號(不需要轉義字符)
![]()
![]()
若是在字符串中既有單引號又有雙引號,就可以使用三引號
9. 字符串遍歷
str[-1]表示字符串的最後一個元素
str[-2]表示字符串的倒數第二個元素
取字符串的字串(切片、前閉後開)
str[2:4]取到字符串的下標爲2-4的元素
str[1:]取到字符串的下表爲1到末尾的元素
str[:]取全部元素
str[:-1]:第一個元素到倒數第一個元素(不包括倒數第一個元素)
str[: 100]若切片的下標大於字符串本身的長度,就取到字符串結尾不會報錯。
str[2:1]無效
10 字符串的拼接
mystr1 = 'hello '
mystr2 = 'world '
mystr3 = '!'
ret = mystr1 + mystr2 + mystr3
得到的結果就是“hello world !”將三個字符串的進行拼接
11. 字符串的重複
str = '-'
str1 = str * 100
print str1
打印結果爲100個-
12. 求字符串的長度
mystr = 'hehe'
print len(mystr)
13. 格式化字符串
format = 'a = %d'
a = 100
result = format % a
print result
格式化這樣的操作是字符串內置的,和print沒有關係
14. 布爾類型
True (真) False (假)
首字母大寫(區分大小寫)
15. 輸入輸出
mystr = raw_input('> ') //輸入,用>作爲輸入提示符,該提示符可以自定義
print mystr
mystr = raw_input('> ')
print 2 * int(mystr) //將mystr強轉爲int類型
raw_input函數的返回值爲字符串類型。
python不會隱式的轉換。
python'也是強類型語言
16.操作符
大部分與c語言一樣、除法有區別。
a).傳統除法 (/ )
a = 1.0
b = 2
print a / b
答案爲0
b).地板(floor)除法 (//)
除法之後,向下取整
a = -1
b = 2
print a // b
結果爲-1
c).精確除法
from __future__ import division
a = 1
b = 2
print a / b
結果爲:0.5
2)乘方操作
a = 10
b = 1000
result = a ** b (a的b次方)
3)邏輯運算符 and 、or、 not
2 <4and 2 == 4
False
2 >4or 2 < 4
True
2 < 3 <4
支持連比
17. 內置數據類型
1.列表(類似於數組)
a = [1,2,3,4]
print a
可以存儲不同類型的元素
print a[0]
print a[1]
print a[-1]
也支持切片操作
2.元組(tuple)
a = (1,2,3,4)
a[0] = 'aaa'
操作與列表一樣,區別:元組的元素不可以更改。
3.字典(哈希表)
可以存儲鍵值對
a = {'ip' : '127.0.0.1','port': 8080}
ip、port爲鍵 '127.0.0.1'、8080爲值
print['ip'] 查找鍵值爲ip的元素
18. 引用
a = 100
b = 100
print id(a),id(b)
兩個值相同
19. if語句:
if expression:
do_something1
do_something2
next_somthing
if expression:
do_something
elif expression2:
do_something2
else:
do_something3
20. while循環
count = 0
while count <3:
print '-------'
count += 1
21. for循環
str = 'abcd'
for i in mystr:
print i
22. range(1,101,2) //從一開始,每次增加2,最大到100的列表
23. break\continue用法與c語言一致
24. pass語句 (空語句、什麼都不做)
由於沒有{},需要有一個專門的語句來佔位,要不縮進就亂了
25.列表解析
[x ** 2 for x in range(1,101) if x % 3 == 0] //得到1-100數字的平方是3的倍數的數 (列表)