一、初識python

學習內容:

1. python,pycharm 介紹與安裝;

2. 輸入輸出;

3. 變量/常量python變成規則;

4. 註釋多行打印;

5. 多行打印以及編碼發展史;

6. 格式化拼接;

7. 密碼密文;

8. if...elif...else 條件語句;

9. while/for 循環語句;

10. 猜年齡遊戲實踐


1. Python,Pycharm 介紹與安裝

1.1 Python 介紹

python的創始人爲吉多·範羅蘇姆(Guido van Rossum)。1989年的聖誕節期間,吉多·範羅蘇姆爲了在阿姆斯特丹打發時間,決心開發一個新的腳本解釋程序,作爲ABC語言的一種繼承。  

Python可以應用於衆多領域,如:數據分析、組件集成、網絡服務、圖像處理、數值計算和科學計算等衆多領域。目前業內幾乎所有大中型互聯網企業都在使用Python,如:Youtube、Dropbox、BT、Quora(中國知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、騰訊、汽車之家、美團等。

目前Python主要應用領域:

  • 雲計算: 雲計算最火的語言, 典型應用OpenStack
  • WEB開發: 衆多優秀的WEB框架,衆多大型網站均爲Python開發,Youtube, Dropbox, 豆瓣。。。, 典型WEB框架有Django
  • 科學運算、人工智能: 典型庫NumPy, SciPy, Matplotlib, Enthought librarys,pandas
  • 系統運維: 運維人員必備語言
  • 金融量化交易,金融分析,在金融工程領域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作爲動態語言的Python,語言結構清晰簡單,庫豐富,成熟穩定,科學計算和統計分析都很牛逼,生產效率遠遠高於c,c++,java,尤其擅長策略回測
  • 圖形GUI: PyQT, WxPython,TkInter

重點:Python開發效率非常高,Python有非常強大的第三方庫,基本上你想通過計算機實現任何功能,Python官方庫裏都有相應的模塊進行支持,直接下載調用後,在基礎庫的基礎上再進行開發,大大降低開發週期,避免重複造輪子。

1.2 Python 安裝

(1)官網下載安裝包 https://www.python.org/downloads/

(2)安裝:默認路徑安裝即可

注:安裝Python一定要安裝3版本之後的,最好安裝最新版本,不要安裝2版本,2版本和3版本之間有很多不一樣。

1.3 Pycharm 介紹

PyCharm是一種Python IDE,帶有一整套可以幫助用戶在使用Python語言開發時提高其效率的工具,比如調試、語法高亮、Project管理、代碼跳轉、智能提示、自動完成、單元測試、版本控制。此外,該IDE提供了一些高級功能,以用於支持Django框架下的專業Web開發。

簡單的說,就是一種Python IDE,python自帶有IDLE也可做python編程,但是編譯界面和操作都太原始,採用這種開發工具便於程序開發與調試。自行去官網下載安裝即可。


可以說pycharm操作界面很人性化了,與大多數編程開發工具一樣,很適合有編程基礎的學習。

 2. 輸入輸出

所有編程語言學習的第一個程序就是“Hello World!”,這是一種儀式,開玩笑了。不過這確實是及機器對人類說出的第一話。python中直接用用print即可。

print("Hello World!")

輸出:print()

輸入:import()

 3. 變量/常量python變成規則

      Python聲明變量時,與其他編程軟件最大的不同就是不需要聲明數據類型,Python默認數據類型是字符串型。而且在Python 3以後的版本,可以識別中文的變量,但一般推薦。

變量定義的規則:

(1)變量名只能是 字母、數字或下劃線的任意組合

(2)變量名的第一個字符不能是數字

(3)以下關鍵字不能聲明爲變量名

['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']

一般聲明變量採用小寫英文單詞,

如:name=“Jack”

      gf_of_Jack=“Dannie” (表示Jack的女朋友,用下劃線來清楚解釋變量含義)。

Python中沒有常量的存在,一般聲明規則用全部大寫字母表示常量,

如:PIE=3.14.592653(雖然PIE在python是可以改變的,但是用全大些表示常量,便於理解含義)

 4註釋

   單行註釋:#

   多行註釋:'''          '''

 5多行打印以及編碼發展史

可以以:變量='''    ''' 形式實現多行註釋

duohang = '''
 編碼發展
 ASCII 255 1byte --> 1980 GB2312 7xxx --> 1995 GBK1.0 2w+ --> 2000 GB18030 27xxx
                    --> 九十年代初 unicode 2bytes
                      --> utf-8 en:1byte, cn:3bytes
'''
print(duohang)

運行結果:


    最早出現的ASCII是美國發明的,留有255位,使用了127位,預留一半的空間,但是仍然不夠用來做漢字的編碼,隨後中國發明瞭GB2312(最早的漢字編碼),後發展到GBK1.0,GB18030...。但是國際上沒有統一的編碼,就會出現中文,日文,韓文等其他語言的混亂編碼,所以國際ISO在九十年代初發明瞭unicode編碼,同一了國際上大多數語言的編碼規則,然而英文並不需要2字節的存儲空間,纔有了今天比較適用的utf-8編碼,根據語言不同所佔空間不同,英文:1byte;中文:3bytes。

時間編碼名稱容量及解釋使用區域
最早ASCII255 1byte美國
1990GB23127xxx(七千多個漢字)中國
1995GBK1.02w+(兩萬多漢字與符號)中國
2000GB1803027xxx中國
九十年代初unicode2bytes國際
不久utf-8英文:1byte;中文:3bytes國際

 6. 格式拼接

這裏介紹三種格式拼接,還可以用多個''' '''+變量+''' '''字符串項相加的方式,但是需要開闢多個內存,不推薦。

# 3.用戶輸入,格式化輸出
username = input("name:")
age = int(input("age:")) # 字符轉整型
print(type(age)) # 查詢數據類型
job = input("job:")
salary = input("salary:")

# 格式化拼接--方法1
info = '''
------- info of %s -------
Name:%s
Age;%d
Job:%s
Salary:%s
'''% (username,username,age,job,salary)

# 格式化拼接--方法2
info2 = '''
------- info of {_name} -------
Name:{_name}
Age;{_age}
Job:{_job}
Salary:{_salary}
'''.format(_name=username,
           _age=age,
           _job=job,
           _salary=salary)

# 格式化拼接--方法3
info3 = '''
------- info of {0} -------
Name:{0}
Age;{1}
Job:{2}
Salary:{3}
'''.format(username,age,job,salary)

print(info3)

運行結果:

 7. 密碼密文

這裏用到了Python的一個標準庫getpass,需要在最前引用改庫進行密文密碼編寫。

注意,在pycharm中密文編譯會出問題,可以進入cmd嘗試,輸入密碼是不會顯示密碼內容

import getpass  # (1.1)密碼密文標準庫

_username='jiaowohaha'
_password='abc123'

# (1.2)密碼密文(pycharmd裏不好使,進cmd嘗試)
username = input("username:")
password = getpass.getpass("password:")# (1.3)密碼密文
print(username,password)

 8. if...elis...else 條件語句

語法:
if <條件1>:
  <執行1>
elif <條件2>:
  <執行2>
else:
  <執行3>
注:在最後的實踐例子解釋

9.  while/for 循環語句

 while <循環成立的條件>

#while無線循環
count=0
while True:
    print("count:",count)
    count=count+1  # counr+=1
    if count==100000:
        break

for i in range(n) # n 表示循環次數

break 跳出當前循環; continue 結束本次循環

#for循環

for i in range(10): # range(10)=={0,1,2,3,4,5,6,7,8,9}
    if i<5:
        print("loop",i)
    elif i>=5 and i<=7:
        continue  #跳出本次循環,進入下次循環
    else:
        break     #結束整個循環
    print("hehe...")
    
print("change-----------------")
for i in range(0,10,2):  # 2 代表步長
    print("loop", i)

 10. 猜年齡遊戲實踐

這裏用了循環、條件的基本語法,編寫一個猜年齡遊戲

# 猜年齡遊戲
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
    if count==3:
        countine_confirm=input("do you want to keep guessing..? if you want to quit, please input 'n'.")
        if countine_confirm!='n':
            count=0
        else:
            break
else: # if count==3:
    print("you have tried too many times...fuck off")

運行結果:


day2018.07.12

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章