• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • python基礎學習總結day01

    python學習第一天總結

    1.環境搭建

    a)anaconda環境配置

    anacodnda是什么?為什么要用anaconda?以及怎么安裝?
    Anaconda 是一個可用于科學計算的 Python 發行版,支持 Linux、Mac、Windows系統,內置了常用的科學計算包。它解決了官方 Python 的兩大痛點。

    1. 第一:提供了包管理功能,Windows 平臺安裝第三方包經常失敗的場景得以解決。
    2. 第二:提供環境管理的功能,功能類似 Virtualenv,解決了多版本Python并存、切換的問題。

    anaconda安裝過程 —我是按照百度的anaconda安裝的。

    b)解釋器

    一個用編譯性語言比如C或C++寫的程序可以從源文件(即C或C++語言)轉換到一個你的計算機使用的語言(二進制代碼,即0和1)。這個過程通過編譯器和不同的標記、選項完成。當你運行你的程序的時候,連接/轉載器軟件把你的程序從硬盤復制到內存中并且運行。而Python語言寫的程序不需要編譯成二進制代碼。你可以直接從源代碼運行程序。
    在計算機內部,Python解釋器把源代碼轉換成稱為字節碼的中間形式,然后再把它翻譯成計算機使用的機器語言并運行。事實上,由于你不再需要擔心如何編譯程序,如何確保連接轉載正確的庫等等,所有這一切使得使用Python更加簡單。由于你只需要把你的Python程序拷貝到另外一臺計算機上,它就可以工作了,這也使得你的Python程序更加易于移植。
    Python的解釋器如今有多個語言實現,我們常用的是CPython(官方版本的C語言實現),其他還有Jython(可以運行在Java平臺)、IronPython(可以運行在.NET和Mono平臺)、PyPy(Python實現的,支持JIT即時編譯)

    2.python初體驗

    a)print and input

    password = raw_input("請輸入密碼:")
    print ('您剛剛輸入的密碼是:', password)
    

    1).

    1. raw_input()的小括號中放入的是,提示信息,用來在獲取數據之前給用戶的一個簡單提示
    2. raw_input()會把用戶輸入的任何值都作為字符串來對待
    3. input()接受表達式輸入,并把表達式的結果賦值給等號左邊的變量
    a = input('please input name')
    print(a)
    

    報錯:
    在這里插入圖片描述將zhangsan賦值給了a,若想輸出zhangsan字符串用Python2時需加’zhangsan’
    2).python3中

    1. 沒有raw_input()函數,只有input()
    2. 并且 python3中的input與python2中的raw_input()功能一樣
    3. print(“I’m %(name)s. I’m %(age)d year old” % {‘name’:‘Vamei’, ‘age’:99})
    格式符號 轉換
    %c 字符
    %s 通過str() 字符串轉換來格式化
    %i 有符號十進制整數
    %d 有符號十進制整數
    %u 無符號十進制整數
    %o 八進制整數
    %x 十六進制整數(小寫字母)
    %X 十六進制整數(大寫字母)
    %e 索引符號(小寫’e’)
    %E 索引符號(大寫“E”)
    %f 浮點實數
    %g %f和%e 的簡寫
    %G %f和%E的簡寫

    3.python基礎講解

    a)python變量特性+命名規則

    變量 , 其實就是計算機內存中的一塊儲存空間 , 用來存儲CPU需要使用的數據 ,而這個儲存空間需要一個名字 , 這個名字的統稱就叫變量 。
    問:怎樣知道一個變量的類型呢?

    1. 在python中,只要定義了一個變量,而且它有數據,那么它的類型就已經確定了,不需要咱們開發者主動的去說明它的類型,系統會自動辨別
    2. 可以使用type(變量的名字),來查看變量的類型

    google的python的命名規范:

    命名樣式 命名類型
    module_name 模塊
    package_name
    ClassName
    method_name, 方法
    ExceptionName 異常
    function_name 函數
    GLOBAL_VAR_NAME 全局變量
    instance_var_name 實例
    function_parameter_name 參數
    local_var_name 本變量

    命名規則:
    小駝峰式命名法(lower camel case): 第一個單詞以小寫字母開始;第二個單詞的首字母大寫,例如:myName、aDog
    大駝峰式命名法(upper camel case): 每一個單字的首字母都采用大寫字母,例如:FirstName、LastName
    不過在程序員中還有一種命名法比較流行,就是用下劃線“_”來連接所有的單詞,比如send_buf
    3. 類
    總是使用首字母大寫單詞串。如MyClass。內部類可以使用額外的前導下劃線。
    4. 函數&方法
    小寫+下劃線
    注意:混合大小寫僅被允許用于這種風格已經占據優勢的時候,以便保持向后兼容。
    5. 函數和方法的參數
    如果一個函數的參數名稱和保留的關鍵字沖突,通常使用一個后綴下劃線
    6. 全局變量
    對于from M import *導入語句,如果想阻止導入模塊內的全局變量可以使用舊有的規范,在全局變量上加一個前導的下劃線。
    注意:應避免使用全局變量
    7. 變量
    小寫,由下劃線連接各個單詞。如color = WHITE,this_is_a_variable = 1
    注意
    1.不論是類成員變量還是全局變量,均不使用 m 或 g 前綴。
    2.私有類成員使用單一下劃線前綴標識。
    3.變量名不應帶有類型信息,因為Python是動態類型語言。如 iValue、names_list、dict_obj 等都是不好的命名。
    8. 常量
    常量名所有字母大寫,由下劃線連接各個單詞如MAX_OVERFLOW,TOTAL。
    9. 異常
    以“Error”作為后綴。
    文件名
    全小寫,可使用下劃線
    10. 包
    應該是簡短的、小寫的名字。如果下劃線可以改善可讀性可以加入。如mypackage。
    11. 模塊
    與包的規范同。如mymodule。
    12. 縮寫
    命名應當盡量使用全拼寫的單詞,縮寫的情況有如下兩種:
    1.常用的縮寫,如XML、ID等,在命名時也應只大寫首字母,如XmlParser。
    2.命名中含有長單詞,對某個單詞進行縮寫。這時應使用約定成俗的縮寫方式。
    例如:
    function 縮寫為 fn
    text 縮寫為 txt
    object 縮寫為 obj
    count 縮寫為 cnt
    number 縮寫為 num,等。
    13. 前導后綴下劃線
    一個前導下劃線:表示非公有。
    一個后綴下劃線:避免關鍵字沖突。
    兩個前導下劃線:當命名一個類屬性引起名稱沖突時使用。
    兩個前導和后綴下劃線:“魔”(有特殊用圖)對象或者屬性,例如__init__或者__file__。絕對不要創造這樣的名字,而只是使用它們。
    注意:關于下劃線的使用存在一些爭議。
    14. 特定命名方式
    主要是指 xxx 形式的系統保留字命名法。項目中也可以使用這種命名,它的意義在于這種形式的變量是只讀的,這種形式的類成員函數盡量不要重載。如
    class Base(object):
    def init(self, id, parent = None):
    self.id = id
    self.parent = parent
    def message(self, msgid):
    其中 idparentmessage 都采用了系統保留字命名法。

    b)注釋方法

    1.Python中的注釋有單行注釋和多行注釋:

    1. #單行注釋
    2. ‘’’
      單引號多行注釋
      ‘’’
    3. “”"
      雙引號多行注釋
      “”"

    2.pycharm中同時注釋多行代碼快捷鍵:
    代碼選中的條件下,同時按住 Ctrl+/,被選中行被注釋,再次按下Ctrl+/,注釋被取消

    c)python中的": "作用

    1)字典中的key,value。person={name:‘張三’}
    列表中list[start : end : step]start:起始位置,end:結束位置,step:步長。
    元組中tup2 = (1, 2, 3, 4, 5, 6, 7 )print "tup2[1:5]: ", tup2[1:5]
    2)python語法中沒有括號限定子模塊的范圍,用冒號:表示子模塊的開始。有縮緊tab表示語法塊。(類,方法,if,esle,while,for等)

    d)學會使用dir()及和help()

    dir() 函數不帶參數時,返回當前范圍內的變量、方法和定義的類型列表;帶參數時,返回參數的屬性、方法列表。如果參數包含方法__dir__(),該方法將被調用。如果參數不包含__dir__(),該方法將最大限度地收集參數信息。
    help()函數,相對于dir()函數,不光有屬性,還多了屬性介紹。
    4. 查看python所有的關鍵字:help(“keywords”)
    5. 查看python所有的modules:help(“modules”)
    6. 單看python所有的modules中包含指定字符串的modules: help(“modules yourstr”)
    7. 查看python中常見的topics: help(“topics”)
    8. 查看python標準庫中的module:import os.path + help(“os.path”)
    9. 查看python內置的類型:help(“list”)
    10. 查看python類型的成員方法:help(“str.find”)
    11. 查看python內置函數:help(“open”)

    e)import

    1)可以使用import將一個源文件導入,并可以使用該模塊的方法。可以單個模塊導入,也可以同時導入多個模塊,還可以導入模塊的部分方法。

    1. import queryengine#導入一個模塊
    2. import os,sys#導入多個模塊(不推薦使用)
      import sys
      sys.path

    2)sys.path.append(’…/…/bole_untils’)#可以確保先搜索這個路徑,一般是導入自己的工具包時常用。
    3)import queryengine as qe #添加別名,方便使用
    4)這種格式用于大型的模塊,可以只導入需要的方法即可。from_future_import division

    f) pep8介紹

    pep8是python的編碼規范。主要對代碼編排,文檔編排,空格使用、注釋、文檔描述、命名規范以及編碼建議等。在寫程序時如果都遵循這個規則,很大程度提升了代碼的可閱讀性。
    Python PEP8 編碼規范中文版
    pepe8編碼
    代碼不符合PEP8規范的,在PyCharm中,不符合規范的代碼下面會有波浪線提示。那么有沒有辦法快速格式化代碼使之符合PEP8規范呢?
    在pycharm中用ctrl+alt+l對文件自動整理為pep8編碼格式。

    4.python數值基礎知識

    a)python中的數值類型,int,float,bool,e計數法等

    int是整型
    float是浮點型
    bool True Flase
    c = 10e2=1000.0(e計數法是浮點數)
    a = 10+6j = complex(10,6)
    

    b)算數運算符

    運算符 描述 實例
    & 按位與運算符:參與運算的兩個值,如果兩個相應位都為1,則該位的結果為1,否則為0 (a & b) 輸出結果 12 ,二進制解釋: 0000 1100
    | 按位或運算符:只要對應的二個二進位有一個為1時,結果位就為1 (a | b) 輸出結果 61 ,二進制解釋: 0011 1101
    ^ 按位異或運算符:當兩對應的二進位相異時,結果為1 (a ^ b) 輸出結果 49 ,二進制解釋: 0011 0001
    ~ 按位取反運算符:對數據的每個二進制位取反,即把1變為0,把0變為1 。~x 類似于 -x-1 (~a ) 輸出結果 -61 ,二進制解釋: 1100 0011,在一個有符號二進制數的補碼形式。
    << 左移動運算符:運算數的各二進位全部左移若干位,由 << 右邊的數字指定了移動的位數,高位丟棄,低位補0。 a << 2 輸出結果 240 ,二進制解釋: 1111 0000
    >> 右移動運算符:把">>"左邊的運算數的各二進位全部右移若干位,>> 右邊的數字指定了移動的位數 a >> 2 輸出結果 15 ,二進制解釋: 0000 1111

    c)邏輯運算符

    運算符 邏輯表達式 描述 實例
    and x and y 布爾"與" - 如果 x 為 False,x and y 返回 False,否則它返回 y 的計算值。 (a and b) 返回 20。
    or x or y 布爾"或" - 如果 x 是非 0,它返回 x 的值,否則它返回 y 的計算值。 (a or b) 返回 10。
    not not x 布爾"非" - 如果 x 為 True,返回 False 。如果 x 為 False,它返回 True。 not(a and b) 返回 False

    d)成員運算符

    運算符 介紹
    in 如果在指定的序列中找到值返回 True,否則返回 False。x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
    not in 如果在指定的序列中沒有找到值返回 True,否則返回 False。 x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。
    if a in list:
    	print('is here')
    

    e)身份運算符

    運算符 描述 示例
    is is 是判斷兩個標識符是不是引用自一個對象 x is y, 類似 id(x) == id(y) , 如果引用的是同一個對象則返回 True,否則返回 False
    is not is not 是判斷兩個標識符是不是引用自不同對象 x is not y , 類似 id(a) != id(b)。如果引用的不是同一個對象則返回結果 True,否則返回 False。
    a = 20
    b = 20
    if a is b:
    	print('yes')
    

    f)運算符優先級

    運算符 描述
    ** 指數 (最高優先級)
    ~ + - 按位翻轉, 一元加號和減號 (最后兩個的方法名為 +@ 和 -@)
    * / % // 乘,除,取模和取整除
    + - 加法減法
    >> << 右移,左移運算符
    & 位 ‘AND’
    ^| 位運算符
    <= < > >= 比較運算符
    <> == != 等于運算符
    = %= /= //= -= += *= **= 賦值運算符
    is is not 身份運算符
    in not in 成員運算符
    not and or 邏輯運算符
    版權聲明:本文為weixin_44690932原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/weixin_44690932/article/details/87929023

    智能推薦

    python學習筆記_day01

    1.基礎語法 中文編碼 Python中默認的編碼格式是 ASCII 格式,在沒修改編碼格式時無法正確打印漢字,所以在讀取中文時會報錯。 以上程序執行輸出結果為: 解決方法只要在文件開頭加入 # -- coding: UTF-8 -- 或者 # coding=utf-8 就行了 注意:Python3.X 源碼文件默認使用utf-8編碼,所以可以正常解析中文,無需指定 UTF-8 編碼。 注意:如果你...

    python -day01

    一、python簡介 1.python的起源 python 的創始人為吉多.范羅蘇姆 1989(1989 年還有一個大事發生)年的圣誕節期間,吉多.范羅蘇姆為了在阿姆斯特丹打發時間,決心開發一個新的解釋程序,作為 ABC 語言的一種繼承(感覺一下什么叫牛人)。 ABC 是由吉多參加設計的一種數學語言,就吉多本人來看,ABC 這種語言非常的優美和強大,是專門為程序員設計的,但是 ABC 語言并沒有成...

    HTML中常用操作關于:頁面跳轉,空格

    1.頁面跳轉 2.空格的代替符...

    freemarker + ItextRender 根據模板生成PDF文件

    1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...

    電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!

    Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...

    猜你喜歡

    requests實現全自動PPT模板

    http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...

    Linux C系統編程-線程互斥鎖(四)

    互斥鎖 互斥鎖也是屬于線程之間處理同步互斥方式,有上鎖/解鎖兩種狀態。 互斥鎖函數接口 1)初始化互斥鎖 pthread_mutex_init() man 3 pthread_mutex_init (找不到的情況下首先 sudo apt-get install glibc-doc sudo apt-get install manpages-posix-dev) 動態初始化 int pthread_...

    統計學習方法 - 樸素貝葉斯

    引入問題:一機器在良好狀態生產合格產品幾率是 90%,在故障狀態生產合格產品幾率是 30%,機器良好的概率是 75%。若一日第一件產品是合格品,那么此日機器良好的概率是多少。 貝葉斯模型 生成模型與判別模型 判別模型,即要判斷這個東西到底是哪一類,也就是要求y,那就用給定的x去預測。 生成模型,是要生成一個模型,那就是誰根據什么生成了模型,誰就是類別y,根據的內容就是x 以上述例子,判斷一個生產出...

    styled-components —— React 中的 CSS 最佳實踐

    https://zhuanlan.zhihu.com/p/29344146 Styled-components 是目前 React 樣式方案中最受關注的一種,它既具備了 css-in-js 的模塊化與參數化優點,又完全使用CSS的書寫習慣,不會引起額外的學習成本。本文是 styled-components 作者之一 Max Stoiber 所寫,首先總結了前端組件化樣式中的最佳實踐原則,然后在此基...

    精品国产乱码久久久久久蜜桃不卡