python的發展史
- 1989年,Guido(龜叔),爲ABC語言寫插件,Monty Python喜劇團;
- 1990年,發佈python第一個版本;
- 2001年,2.x; (python2.7 —-> python2.8<不會存在>);
- 2013年,python3.0
編程語言:
C,Java,C++, C#, shell, ruby, php, JavaScript, Matlab
- 面嚮對象語言
- 面向過程語言
面向函數編程
編譯型語言:Windows用C寫了一個QQ軟件,並不能在Linux上執行,也不能在IOS上運行;
- 解釋型語言:可以跨平臺,你用python寫一個APP,只需要寫一份,在所有的平臺上可以運行;
python的優缺點
優點:
- 創始人說的: 簡單,優雅,明確
缺點:
- 速度慢
爬蟲:
http://www.baidu.com/xxx.html
wget xxx.html
分析
python C
1h+10ms 1h+1ms
ipython的安裝
第一個python腳本
解釋器問題
# 可移植性的對比,如果你的代碼移植到的機器,python並未安裝在/usr/bin/python這裏,就使用第二種;
#!/usr/bin/python
#!/usr/bin/env python
中文問題
#coding:utf-8
#coding=utf-8
#encoding:utf-8
#encoding=utf-8
#encoding:-*- utf-8 -*-
編碼格式:
ASCII:美國人發明了計算機,1個字節(8位)去存儲一個英文字符,2^8=256;
Unicode:2個字節(16位)去存儲一個字符,2^16,65536;
# GB2312:
utf-8:在編程過程中,英文多,中文少。如果是英文字符,就用一個字節去存儲;如果是中文用3個字節去存儲;
python的IDE工具
- sublime
- eclipse
- pycharm
快捷鍵和技巧
- ctrl+alt+s:設置
- alt+insert:新建(文件,目錄,包)
- ctrl + s:保存
- Delete:刪除(文件,目錄,包)
- ctrl + /: 快速註釋(或取消)一行或多行
- shift+alt+N:
- ctrl+d: 快速複製一行
- shift+delete:快速刪除一行
練習1.
模擬用戶登陸:
- 假設系統中的用戶名”root”,密碼爲”westos”;
- 如果用戶輸入用戶名和密碼均正確顯示”login ok”
如果用戶名錯誤,顯示”user is not exist”
如果密碼錯誤,顯示”password is no ok” - 只有三次登陸機會,超過三次,顯示”count is bigger than 3”
程序示例:
#!/usr/bin/env python
#coding:utf-8
__author__ = "lvah"
'''
@author:guofan
@file:userLogin.py
@contact:[email protected]
@time:8/16/17 10:53 AM
@desc:
'''
import getpass
user = "root"
passwd = "westos"
trycount = 0
while True:
if trycount == 3:
print "you have try 3 count"
break
inputUser = raw_input(">> user:")
if not inputUser: continue
inputPasswd = getpass.getpass(">>password:")
if inputUser == user and inputPasswd == passwd:
print 'Login Successful'
break
elif inputUser != user:
print "Username Error"
else:
print "Passwd Error"
trycount += 1
運行結果:
練習2.
編寫乘法表
程序示例:
#!/usr/bin/env python
for i in range(1,10):
row=' '
for j in range(1,i+1):
row += "%d*%d=%s " %(j,i,i*j)
print(row)
運行結果: