筆記--Day1--python基礎1

1、目錄html

1.Python介紹java

python的創始人爲吉多·範羅蘇姆(Guido van Rossum),目前已是使用頻度特別高的開發語言。python

主要應用領域:linux

  • 雲計算:雲計算最火的語言,典型應用有OpenStack
  • WEB開發:衆多優秀的WEB框架,衆多大型網站均爲Python開發,如:Youtube、Dropbox、BT、Quora(中國知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、騰訊、汽車之家、美團等, 典型WEB框架有Django
  • 科學運算、人工智能:典型庫NumPy, SciPy, Matplotlib, Enthought librarys,pandas
  • 系統運維:運維人員必回語言
  • 金融:量化交易,金融分析,在金融工程領域,Python不但在用,且用的最多,並且重要性逐年提升。緣由:做爲動態語言的Python,語言結構清晰簡單,庫豐富,成熟穩定,科學計算和統計分析都很牛逼,生產效率遠遠高於c,c++,java,尤爲擅長策略回測
  • 圖形GUI:PyQT, WxPython,TkInter

學完咱們能夠乾點啥呢?c++

  • Python開發工程師 :通常須要精通Python編程語言,有Django等框架的使用經驗,實習無要求。
  • Python高級工程師 : 北上廣深的話,須要精通Linux/Unix平臺,有英語閱讀功底。
  • Web網站開發方向: 熟悉Web開發的經常使用 Python框架,熟悉掌握Mysql類數據庫的操做便可。
  • SEO工程師: 爲本身或公司開發和改進SEO相關軟件,實現自動化搜索引擎優化和平常重複工做。
  • Python自動化測試:熟悉自動化流程、方法和經常使用的模塊的使用,有英文讀寫的能力。
  • Linux運維工程師: Linux服務器管理,數據分析、自動化處理任務、分析網站日誌、定時計劃管理,解放雙手。
  • Python遊戲開發工程師: 網絡遊戲後端服務器邏輯的開發和處理,有大型數據庫使用經驗,喜歡從事遊戲相關工做。
  • Python自學愛好者: 能夠本身開發一些小軟件和應用,帶圖形化界面的軟件,方便平常工做。

2.Python發展史sql

數據庫

3.Python 2 or 3?編程

2和3雖然有點區別,但隨着時間的推移確定是3越用越多,因此要好好的學習3vim

4.Python的安裝windows

windows直接下載程序進行安裝,Linux和蘋果都默認基礎了python 2.6,若是須要新版本則需下載安裝

①下載:https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz

②解壓後進入目錄編譯安裝: #./configure --prefix=/usr/python  && make && make install

注:我全部的練習筆記均在Pycharm 5.0.3中完成,python版本爲3.6

5.寫第一個Hello World程序

6.變量/字符編碼

a.變量便可變的量,python中變量的定義規則:

  • 變量名只能是 字母、數字或下劃線的任意組合
  • 變量名的第一個字符不能是數字
  • 如下關鍵字不能聲明爲變量名【'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield'】

b.字符編碼簡史:

美國:1963年 ASCII (包含127個字符  佔1個字節)

中國:1980年 GB2312 (收錄7445個漢字,包括6763個漢字和682個其它符號)

                 1993年 GB13000 (收錄20902個漢字)

                         1995年 GBK1.0 (收錄 21003個漢字)

                                  2000年 GB18030 (收錄70244個漢字)

世界:1991年 unicode(‘萬國碼’也就統一編碼,一般佔2字節,複雜的漢字佔4字節)

                UTF-8 (可變長的字符編碼)

Python2中的字符串進行字符編碼轉換過程是:

字節串-->decode('原來的字符編碼')-->Unicode字符串-->encode('新的字符編碼')-->字節串

Python3中定義的字符串默認就是unicode,所以不須要先解碼,能夠直接編碼成新的字符編碼:

字符串-->encode('新的字符編碼')-->字節串

7.用戶輸入

即交互式的提醒要求用戶輸入一些信息,而後打印相應的結果

8.模塊

Python的強大之處在於他有很是豐富和強大的標準庫和第三方庫,幾乎你想實現的任何功能都有相應的Python庫支持

9.pyc是什麼

咱們說pyc文件實際上是PyCodeObject的一種持久化保存方式

10.數據類型初識

  • 數字:整形、浮點、複數
  • 布爾:1(True)爲真,0(False)爲假
  • 字符串:
  • 列表:索引、切片、追加、刪除、長度、循環、包含
  • 元組:可變列表
  • 字典:無序
  • bytes:字節

11.數據運算

  • 算數運算(+(加) 、-(減) 、*(乘)、 /(除) 、%(取模)、 **(冪)、 //(整除))
  • 比較運算(==(等於)、!=(不等於)、<>(不等於)、>(大於)、<(小於)、>=()、<=())
  • 賦值運算(=、+=(自增)、-=(自減)、*=(自乘)、%=(自取模)、**=()、//=())
  • 邏輯運算(and、or、not)
  • 成員運算(in、not in(在不在) )
  • 身份運算(is、 is not(是不是同對象))
  • 三元運算(result = 值1 if 條件 else 值2(若是條件爲真result=值1,若是條件爲假result=值2))

瞭解詳細:猛擊這裏

12.表達式if ...else語句

13.表達式for和wile循環

14.break and cotinue


 2、練習

1.略 2.略 3.略 4.略

5.寫咱們的第一個hello world程序

   linux中是:a.新建一個hello_world.py的文件

                     b.編輯文件#vim hello_world.py (文件頭增長‘#!/usr/bin/env python’指定解釋器,在增長一行'pring 'hello world')

                     b.給文件增長可執行權限#chmod a+x hello_world.py便可經過#python hello_world.py執行

注,我全部的練習都是在Pycharm中完成的。

#pycharm 5.0.3(python3.6)
print('hello world!')
Hello_world代碼
hello world!
Process finished with exit code 0
運行結果

6.變量

#pycharm 5.0.3(python3.6)
names ='Felix'#變量的聲明定義賦值
print('打印變量結果名字:',names)
變量代碼
打印變量結果 Felix

Process finished with exit code 0
運行結果

字符編碼

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#pycharm 5.0.3(python2.6)
#字節串-->decode('原來的字符編碼')-->Unicode字符串-->encode('新的字符編碼')-->字節串
utf_8_a = '測試'
print(utf_8_a,type(utf_8_a),len(utf_8_a))  #打印utf_8_a的內容、類型及長度
unicode_a = utf_8_a.decode('utf-8') #對utf_8_a進行解碼成unicode
print(unicode_a,type(unicode_a),len(unicode_a))
gbk_a = utf_8_a.decode('utf-8').encode('gbk') #先解碼在編碼成gbk
print(gbk_a,type(gbk_a),len(gbk_a)) #打印gbk_a的內存、類型及長度
print(gbk_a.decode('gbk'))
python2.6運行代碼
('\xe6\xb5\x8b\xe8\xaf\x95', <type 'str'>, 6)
(u'\u6d4b\u8bd5', <type 'unicode'>, 2)
('\xb2\xe2\xca\xd4', <type 'str'>, 4)
測試

Process finished with exit code 0
運行結果
#pycharm 5.0.3(python3.6)
#Python3中定義的字符串默認就是unicode,所以不須要先解碼,能夠直接編碼成新的字符編碼:
#字符串-->encode('新的字符編碼')-->字節串
utf_8_a = '測試'
print(utf_8_a,type(utf_8_a),len(utf_8_a))  #打印utf_8_a的內容、類型及長度
gbk_a = utf_8_a.encode('gbk')
print(gbk_a.decode('gbk'),type(gbk_a),len(gbk_a))
python3.6運行代碼
測試 <class 'str'> 2
測試 <class 'bytes'> 4

Process finished with exit code 0
運行結果

7.用戶輸入

#pycharm 5.0.3(python3.6)
name = input('Please input your name:')
#若是想讓輸入的密碼不可見可使用 import getpass模塊
import getpass #一般調用模塊都寫在最上邊
pwd = input('Your passwd:')
print('Hello,'+name) #字符串的鏈接能夠用「+」(加號)
print('你的密碼是:',pwd)
輸入代碼
Please input your name:Felix
Your passwd:123
Hello,Felix
你的密碼是: 123

Process finished with exit code 0
運行結果

8.模塊

import sys
print(sys.path) #打印環境變量
print(sys.argv) #實際上打印的是相對路徑,因爲pycharm中有名稱,因此直接打印的是絕對路徑


import os
#print(os.path)
#cmd_res = os.system("dir")   #執行命令,不保存結果
cmd_res = os.popen("dir").read() #不加read,只是存儲到了內存中,須要用read讀取
print("-->",cmd_res)


#os.mkdir("new_dir") #建立目錄
#import login #找模塊先去當前目錄下找,若是沒有則出錯,解決,同目錄解決,或者修改環境變量
模塊代碼

9.

10.數據類型

 略

11.數據運算

 略

12.if ...else

#pycharm 5.0.3(python3.6)
#要求:提示用戶輸入用戶名密碼
#實現:用戶輸入用戶名密碼後進行驗證(name = 'Felix',pwd = '123')
#      若是錯誤,則輸出用戶名和密碼
#      若是成功,則輸出 歡迎,XXX!
import getpass #若是想讓輸入的密碼不可見可使用 import getpass模塊
name = input('Please input your name:')
pwd =  int(input('Please input your pwd:'))
# pwd = int(getpass.getpass('Please input your pwd:')) #能夠隱藏密碼提示,這裏測試又問題,輸入完密碼沒有結束

if name == 'Felix' and pwd ==123:
    print('Welcome ',name)
else:
    print('Your name or pwd error')
用戶登陸驗證遊戲場景
Please input your name:Felix
Please input your pwd:123
Welcome  Felix

Process finished with exit code 0
運行結果
#pycharm 5.0.3(python3.6)
#要求:在程序裏設定好你的年齡,而後啓動程序讓用戶猜想,
#實現:用戶輸入後,根據他的輸入提示用戶輸入的是否正確,若是錯誤,提示是猜大了仍是小了
age_of_oldboy = 56
guess_age = input("guess age:")
if guess_age == age_of_oldboy:
    print("Yes,you got it.")
elif int(guess_age) > age_of_oldboy:
    print("think smaller")
else:
    print("think bigger")
#以上版本只能一次輸入一個年齡就須要在此運行程序
猜年齡遊戲場景
guess age:28
think bigger

Process finished with exit code 0
運行結果

結合條件利用循環實現讓用戶不斷的猜年齡,但只給最多3次機會,再猜不對就退出程序:

#pycharm 5.0.3(python3.6)
#while循環方式
age_of_oldboy = 56
count = 0
while count <3:
    guess_age = int(input("guess age:"))
    if guess_age == age_of_oldboy:
        print("Yes,you got it.")
        break
    elif guess_age > age_of_oldboy:
        print("think smaller")
    else:
        print("think bigger")
    count +=1
else:
    print("You have tried too many times..fuck off")
猜年齡(while循環)
guess age:20
think bigger
guess age:12
think bigger
guess age:30
think bigger
You have tried too many times..fuck off

Process finished with exit code 0
運行結果
#pycharm 5.0.3(python3.6)
#for循環方式
age_of_oldboy = 56
count = 0
for i in range(3) :
    guess_age = int(input("guess age:"))
    if guess_age == age_of_oldboy:
        print("Yes,you got it.")
        break
    elif guess_age > age_of_oldboy:
        print("think smaller")
    else:
        print("think bigger")
else:
    print("You have tried too many times..fuck off")
猜年齡(for循環)
guess age:30
think bigger
guess age:56
Yes,you got it.

Process finished with exit code 0
運行結果

 

13.循環

   for loop

#pycharm 5.0.3(python3.6)
#循環打印1到9
for i in range(10):
    print(i)
for loop
0
1
2
3
4
5
6
7
8
9

Process finished with exit code 0
運行結果
#pycharm 5.0.3(python3.6)
#需求一,循環打印1到9,可是遇到小於5的循環次數就不走了,直接跳入下一個循環
#此處就利用到了continue
for i in range(10):
    if i<5:
        continue #不往下走了,直接進入下一次循環
    print(i)
continue
5
6
7
8
9

Process finished with exit code 0
運行結果
#pycharm 5.0.3(python3.6)
#需求二:仍是上面的程序,可是遇到大於5的循環次數就不走了,直接退出
for i in range(10):
    if i >5:
        break #不往下走了,直接跳出整個循環
    print(i)
break
0
1
2
3
4
5

Process finished with exit code 0
運行結果

  while loop

#pycharm 5.0.3(python3.6)
#死循環
count = 0
while True:
    print('等着吧……')
    count +=1
死循環
#pycharm 5.0.3(python3.6)
#死循環
count = 0
while True:
    print('等着吧……')
    count +=1

    if count == 5:
        print('中斷循環')
        break
中斷死循環

 

14.中斷,已在13循環中練習

 

 3、參考

http://www.cnblogs.com/alex3714/articles/5717620.html  <博主博客記錄>

http://www.runoob.com/

注:本筆記基於「老男孩python14期百度傳課視頻」,地址:https://chuanke.baidu.com/v3628575-182242-1134376.html

相關文章
相關標籤/搜索