Python基礎之變數與文件基本操作

来源:http://www.cnblogs.com/akon0207/archive/2016/01/20/5140904.html
-Advertisement-
Play Games

Python語言介紹 Python創始人:Guido(龜叔),Python的名字來自電視劇Monty Python's Flying Circus(創造一種C和shell之間,功能全,易學易用,可拓展),1991年第一個Python編輯器誕生。 Python哲學思想:簡單,優雅,明確 Py...


Python語言介紹     Python創始人:Guido(龜叔),Python的名字來自電視劇Monty Python's Flying Circus(創造一種C和shell之間,功能全,易學易用,可拓展),1991年第一個Python編輯器誕生。      Python哲學思想:簡單,優雅,明確     Python的應用:
  • Web Programing:Django,Pyramid,Bottle,Tornado,Flask,web2py
  • GUI Development:wxPython,tklnter,PyGtk,PyGObject,PyQt
  • Scientific and Numeric:SciPy,Pandas,IPython
  • Software Development:Buildbot,Trac,Roundup
  • System Administration:Ansible,Salt,OpenStack
  Python的種類:
  • Cpython:Python的官方版本,使用C語言實現,使用最廣,Cpython會將源文件(py文件)轉換成位元組碼文件(pyc文件),然後運行在Python虛擬機上。
  • Jython:Python的java實現,jython會將Python代碼動態編譯成java位元組碼,然後再JVM上運行
  • IronPython:Python的C#實現,IronPython將Python編譯成C#位元組碼,然後在CLR上運行
  • PyPy:Python實現的Python,將Python的位元組碼編譯成機器碼(執行快)
  • ...
 python的安裝     Linux:

  1. 下載python2.7.11

  wget https://www.python.org/ftp/python/2.7.11/Python-2.7.11.tgz

  2. 解壓文件

  tar zxvf Python-2.7.11.tgz

  3. 創建安裝目錄

  mkdir /usr/local/python27

  4. 安裝python

  ./configure --prefix=/usr/local/python27

  make

  make install

  5. 修改老版本的ln指向

  mv /usr/bin/python /usr/bin/python2.6.bak

  ln -s /usr/local/python27/bin/python /usr/bin/python

  這裡修改之後會導致yum用不了(yum的執行依賴於Python),需要在/usr/bin/yum裡面把頭部#!/usr/bin/python改為#!/usr/bin/python2.6

      windows   1.下載Python3.5.1   2.雙擊安   Python內部執行流程:      Python代碼運行時會將代碼轉換成位元組碼,再從位元組碼轉換為機器碼。    關於Python解釋器聲明和內容編碼:   在腳本的開頭必須聲明用什麼解釋器來執行代碼和聲明編碼(Python3可以不用聲明內容編碼),Python解釋器在載入.py文件中的代碼時,會對內容進行編碼(預設ascii),聲明如下:   
#!/usr/bin/env python
# -*- coding:utf-8 -*-

  常用編碼種類:

  ascii:美國標準信息交換碼(8位)

  unicode:萬國碼(至少16位),可以表示所有語言

  utf-8:可以自動識別需要ascii或unicode編碼(節省空間)    註釋     單行註釋用#號表示,如下:
#這一行被註釋

  多行註釋用三個單引號(''' ''')或雙引號(""" """)表示,如下:

'''
多行註釋
多行註釋
'''
"""
多行註釋
多行註釋
"""

 

 


 

  變 量   變數名要求:
  • 只能用字母,下劃線和數字組成
  • 第一個字元不能為數字
  • 變數名要通俗易懂
  • 聲明變數名的時候不能使用特殊關鍵字
     (False,class,finally,is,return,None,continue,for,lambda,try ,True,def,from,nonlocal,while,      and,del,global,not,with,as,elif,if,or,yield,assert,else,import,pass,break,except,in,raise)   輸入:   輸入可以使用input(Python3)或raw_input(Python2.x)方法,用法如下:
name=input('請輸入內容:') #Python3中用法

name=raw_input('請輸入內容:') #Python2.x中用法

 

數據類型:

1.單值 數字:   整形(int):最大取值為2147483647(2**31-1)   長整型(long):最大取值為9223372036854775807(2**63-1)   浮點型(float):3.14   複數:z=a+bj 布爾值:   True 1   False 0 2.字元串(str) 1.字元串特點:   字元串修改必須在記憶體中重新開闢一塊空間   聲明一個字元串:            
name='akon'

    

2.字元串格式化:   %s:字元串   %d:數字     
name = 'akon'
age = 99
sentence='I am %s,age %d' %(name,age) #會把%s和%d轉換成對應變數的值

 

3.字元串常用方法:     索引:可以通過索引取出字元串里的單個字元,用法如下。          切片:可以通過切片取出多個元素,用法如下。          長度計算len():       去空(strip):可以去掉字元串兩邊的空格/換行符,用法如下。       分割(split):通過對字元串分割可以把分割後的字元串組成一個列表,用法如下。       for迴圈:       while迴圈:當條件滿足時一直執行迴圈(容易形成死迴圈)     3.列表(list)   列表的表現形式:   
name_list = ['akon','ak','cloris',12]
                                           列表也支持下標索引,所以可以被切片:     計算列表長度(元素個數):       刪除列表元素(del):     增加列表元素(append):     把列表變成字元串(join):     4.元組(tuple)   元組表現形式:
name=(‘akon’,’lhk’,’ak’)  #與列表的區別就是不能被修改

 

5.字典(dict)     用一對大括弧括起來,字典需要鍵(key)和值(value)組成,每一對鍵和值組成鍵值對。   字典表現形式:
akon={'name':'akon','age':'26','gender':'man'}

 

  字典是無序的,如果用for迴圈輸出所有元素,僵屍無序輸出:       字典的方法:      
 

文件的基本操作

找到文件:文件路徑 E:/log

打開文件:

  open(文件路徑,“w+”)

  file_obj=open(‘文件路徑’,’模式’)

  打開文件模式有:

  r.以只讀方式打開文件

  w.打開一個文件只用於寫入。如果文件已經存在則覆蓋。如果文件不存在則創建。

  a. 打開一個文件用於追加。如果該文件存在,文件指針將會放在文件的結尾也就是在已有內容之後。如果文件不存在,創建新文件進行寫入。

  w+.打開一個文件用於讀寫。如果文件存在則覆蓋。不存在則創建。

文件操作,讀寫

file_obj=open('文件路徑','模式')
file_obj.read() #將所有內容讀入記憶體 file_obj.readlines() #將所有內容讀入記憶體,並分行 for line in file_obj. readlines(): print line for line in file_obj: #每次迴圈,只讀一行。避免全部讀入記憶體 file_obj.write()   #寫入 file_obj.writeline()  #每次寫入一行

 

文件關閉

  file_obj.close()

          
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 9-6. 管理斷開時的併發問題想要確保只接受在WCF客戶端併發令牌未被修改的實體。解決方案我們有一個如Figure 9-6所示的模型.Figure 9-6訂單實體模型我們想通過WCF服務來更新一個order ,而要確保這個order 在我們上次取回後沒有發生過其它修改。稍後我們將演示兩個不同的方式....
  • C#用副線程去試圖修改主線程的UI控制項會報出異常,解決方案是使用副線程註冊事件通知主線程自己去修改UI控制項在winform中,方法如下private void button1_Click(object sender, EventArgs e){ Thread myThread = new Th...
  • WCF
    正在準備中
  • 9-5. 刪除一個斷開的實體問題我們要把一個把WCF上取回的對象做上刪除的標誌.解決方案假設我們有如Figure 9-5所示實體的支付與票據的模型.Figure 9-5. 一個支付與票據的模型我們的模型展示了支付記錄與票據的關係。在應用程式中,我們用客戶端與用WC封裝EF數據訪問交互. 在我們的例子...
  • 想完成一個鏈表發現有錯誤,代碼如下://http://ac.jobdu.com/problem.php?pid=1511//֮ǰÓÃlistʵÏֵģ¬½ñÌìÊÔÒ»ÏÂÓÃstructʵÏÖһϰÉ//¿
  • 在try-catch-finally語句中使用return語句遇到了一些疑問代碼一:static int intc(){ int x =0; try{ x=1; return x; }finally { ...
  • 我又來送福利啦!!!不同於上篇文章,這次我們的爬蟲採用了多線程,一直以來被所謂的分散式 多線程 爬蟲 給唬的怕怕的。今天就來一發多線程爬蟲吧,還能看妹子圖,想想就覺得很激動!!! 依然是流程解釋: 1.分析要爬取的網址,發現頁面分兩級,第一級是多個圖片集的入口,第二集是圖片的入口。我們新建兩...
  • 前面幾篇博客已經講到了關於0V7725的相關驅動問題,那麼OV7725驅動成功之後,設定OV7725輸出RGB565格式,那麼對於640x480x16,那麼若是選用FIFO,應該設置為位寬16bit,存儲深度為30萬,但是這樣是不現實的。所以採用存儲深度更大的SDRAM來實現數據的緩存。 要麼對於....
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...