Python初識--基礎

來源:互聯網
上載者:User

標籤:float   b2c   tun   pychar   分類   下載   經驗   details   概念   

碎碎念
  1. 最初想寫一些機器學習演算法的實作類別的文章,但發現自己工作經驗不足,即使寫出來,也只是一些應用情境十分狹隘的小實驗;
  2. 瞭解到身邊有些朋友和同學也想瞭解學習一下指令碼語言Python(畢竟是後起之秀),紙質、電子資源大家都有,可是總感覺學起來麼勁,就是沒有小夥伴一起學嘛;
  3. 綜上,我打算寫一個系列的Python教程,側重點是為機器學習和深度學習打下基礎。
  4. 這或許在別人看起來可能是微不足道的工作,但對我而言,要全面、系統且有側重點地整理Python知識,這不僅是對我過去Python學習的檢驗,也是對我現在的時間管理的一個挑戰。
  5. 我會堅持下去!歡迎大家留言騷擾,不亦樂乎,能力所限,歡迎指教。
前言
  • 實驗環境: Python 3.6;
  • 本文完整樣本:下載樣本
基本知識
Python的特點
  • 物件導向的解釋性語言;
  • 簡單易學;
  • 豐富的庫;
  • 強制使用定位字元作為語句縮排(white space)。
Python的優缺點
  • 優點
    • 簡單、易學;
    • 免費、開源;
    • 可擴充性、可嵌入性;
    • 豐富的庫。
  • 缺點
    • 運行速度較慢;
    • 中文資料匱乏;
    • 代碼不能加密。
Anaconda安裝與配置

十分推薦Anaconda,它是一個整合式開發環境,整合了眾多常用Python庫,免去了開發環境配置的繁瑣,讓我們更專心地去學習真正的技術。大讚


  • 國內清華鏡像,速度很快滴。
    注意選擇好自己電腦對應的版本號碼。
    安裝方法:一路next。
  • jupyter notebook相關配置
    • 配置預設啟動目錄:配置方法
Pycharm的安裝與配置
  • 下載安裝
    官方
    安裝方法:一路next。
  • 註冊伺服器:
    server選項裡邊輸入 http://elporfirio.com:1017/
    或者:server選項裡邊輸入 http://idea.imsxm.com/
    使用啟用碼的小夥伴點這裡複製啟用碼。
  • Pycharm漢化
    如果英文水平ok,就不建議漢化了。
    Pycharm漢化包
    複製resources_cn.jar放在PyCharm安裝目錄下的lib檔案夾。
Python注釋文法
  • 注釋的作用
    • 增加程式的可讀性;
    • 作為調試時使用;
    • 提高團隊的合作效率。
  • 注釋的分類
    • 單行注釋;
      以符號#開頭,表示當前行其後的內容為注釋。
    • 多行注釋;
      • 採用三對單引號表示‘‘‘多行注釋‘‘‘
Python中的變數
Python中的變數
  • 什麼是變數?
    用來儲存資料的量。
  • 什麼是標識符?
    標識符是使用者自訂的,如變數名、函數名等。
  • 標識符的命名規則
    1. 只能包含字母、數字和底線;
    2. 只能以字母或底線開頭,開頭不能使用數字;
    3. 不能包含空格,可使用底線分割單詞;
    4. 不能使用Python中的關鍵字作為變數名;
    5. Python嚴格區分大小寫;
    6. 建議使用駝峰命名法:
      • 大駝峰:VariableName;
      • 小駝峰:variableName。
  • 常用關鍵字
    在Python中查看Python關鍵字
In[2] : import keywordIn[3] : keyword.kwlistOut[3]: [‘False‘, ‘None‘,‘True‘, ‘and‘, ‘as‘, ‘assert‘, ‘break‘, ‘class‘, ‘continue‘, ‘def‘, ‘del‘, ‘elif‘, ‘else‘, ‘except‘, ‘finally‘, ‘for‘, ‘from‘, ‘global‘, ‘if‘, ‘import‘, ‘in‘, ‘is‘, ‘lambda‘, ‘nonlocal‘, ‘not‘, ‘or‘, ‘pass‘, ‘raise‘, ‘return‘, ‘try‘, ‘while‘, ‘with‘, ‘yield‘]
Python中的資料類型
資料類型
  • Number數字
    • int 整數;
    • float 浮點型;
    • complex 複數;
    • bool 布爾。
  • string字串
    • str = “abcd”;
    • str = ‘ab‘ + ‘cd‘;加號可實現字串的拼接;
    • string可以被索引和切片;切片遵循“左開右閉”。
  • list列表
    1. list放在方括弧之間,元素使用逗號隔開;
    2. 和字串一樣,list可以被索引和切片;切片遵循“左開右閉”;
    3. list可以使用加號(+)操作進行拼接;
    4. list中的元素可以被改變。
  • tuple元組
    1. 元組的元素不可被改變;
    2. 元組可以包含可變的對象,如,list;
    3. 構成0個或1個元素的元組的特殊文法:
      • tuple1=() #空元祖
      • tuple2=(1,) #一個元素,需要在元素後添加逗號
  • sets集合
    1. 確定性;
    2. 互異性;
    3. 無序性。
  • Dictionary字典
    1. 字典是一種映射類型,元素為索引值對;
    2. 鍵(key)必須使用不可改變的資料類型(字串、數值、元組),在同一個字典中鍵(key)必須唯一;
Python中的運算子
運算子
  • 算術運算子
    • 加+ : 兩個數相加;c = a + b
    • 減- : 兩個數相減; c = a - b
    • 乘* : 兩個數相乘; c = a * b
    • 除/ : 兩個數相除; c = a / b
    • 模數(取餘)% : 返回兩個數除法的餘數; c = a % b
    • 冪** : 冪運算;相當於內建函數pow(a, b);c = a ** b
    • 取整除// :取兩個數除法的整數部分。 c = a // b
  • 賦值運算子
    • 等號= : 等值賦值;
    • 加法賦值+=: 先做加法運算再賦值;
    • 減法賦值+=: 先做減法運算再賦值;
    • 乘法賦值*=: 先做乘法運算再賦值;
    • 除法賦值/=: 先做除法運算再賦值;
    • 取餘賦值%=: 先做取餘運算再賦值;
    • 冪賦值**=: 先做冪運算再賦值;
    • 取整除賦值//=: 先整除再賦值。
  • 比較子
    • 等於==
    • 大於>
    • 小於<
    • 大於等於>=
    • 小於等於<=
  • 邏輯運算子
    • 與:and
      if condition1 and condition2:
    • 或:or
      if condition1 or condition2:
    • 非:not
      if not condition:
Python中的位元運算
  • 位元運算符
    • 按位與運算& :二進位位中,對應位置都為1得1,其他情況都為0;
    • 按位或運算| : 二進位位中,對應位置都為0得0,其他情況都得1;
    • 按位異或運算^ : 二進位位中,對應位置相同得0,不同得1;
    • 按位取反運算~ :按位取反;注意,負數以補碼形式儲存,轉化為十進位時,首位(符號位)不變,其他位按位取反,末位+1。
    • 左移位元運算<< : a << b表示a左移b位,高位丟棄,低位補0;
    • 右移位元運算>> : a >> b表示a右移b位,左邊空出的位用0或者1填補。
      • 正數用0填補,負數用1填補。
  • 樣本:
    下面只給出左移與右移運算樣本哈
### 左移與右移運算## 輸出位元字a = 15b = 3print("%d的二進位為:%s" % (a, "{:b}".format(a).rjust(8, ‘0‘)) )print("%d的二進位為:%s" % (b, "{:b}".format(b).rjust(8, ‘0‘)) )# 將a左移b位print(‘=*‘*10, ‘將a左移b位‘, ‘=*‘*10)l3 = a << bprint("%d的二進位為:%s" % (l3, "{:b}".format(l3).rjust(8, ‘0‘)) )# 將a右移b位print(‘=*‘*10, ‘將a右移b位‘, ‘=*‘*10)r3 = a >> bprint("%d的二進位為:%s" % (r3, "{:b}".format(r3).rjust(8, ‘0‘)) )## 負數的左右移操作c = -7print("\n%d的二進位為:%s" % (b, "{:b}".format(b).rjust(8)) )print("%d二進位為:%s" % (c, "{:b}".format(c).rjust(8)) )# 將c左移b位print(‘=*‘*10, ‘將c左移b位‘, ‘=*‘*10)nl3 = c << bprint("%d的二進位為:%s" % (nl3, "{:b}".format(nl3).rjust(8)) )# 將c右移b位print(‘=*‘*10, ‘將c右移b位‘, ‘=*‘*10)nr3 = c >> bprint("%d的二進位為:%s" % (nr3, "{:b}".format(nr3).rjust(8)) )

輸出:


========== 左移與右移運算 ==========
15的二進位為:00001111
3的二進位為:00000011
========== 將a左移b位 ==========
120的二進位為:01111000
========== 將a右移b位 ==========
1的二進位為:00000001
3的二進位為: 11
-7二進位為: -111
========== 將c左移b位 ==========
-56的二進位為: -111000
========== 將c右移b位 ==========
-1的二進位為: -1

總結
  1. 本文完整樣本:下載樣本
  2. 本文給大家介紹了環境的搭建與配置,推薦Anaconda,講解了Python中最基礎的一些概念、資料類型、算數運算子和邏輯運算子等。光說不練假把式,所以,多多動手,擼代碼!加油。
  3. 能力有限,歡迎指錯交流;如果感覺不錯,右下角支援下哈。^-^

歡迎關注個人公眾號WaltSmithML或新浪微博WaltSmith,本人主要方向為機器學習和深度學習。非常熱烈歡迎一起交流學習哈,除了學習,還可免費幫忙download論文或者書籍哈==============
???公眾號?????????新浪微博???

Python初識--基礎

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.