Day 4-6, 列印、文件、函數

每天進步一點點。

10. 那是什麼?

轉義序列

nnn"I am 62" tall."nnI am 62" tall.n

11. 提問

接受用戶輸入。

print "How old are you?",nage = raw_intput()n

注意到print後面的逗號了吧?這樣的話print就不會輸出換行符而結束這一行跑到下一行了。

練習1

raw_input接受用戶輸入,並把它當作字元串

練習2

age = raw_input("How old are you?")nnprint "your age is %r" % agen

12. 提示別人

一不小心和習題11.2重複了。。

命令行輸入:

python -m pydoc raw_inputn

pydoc主要用於從python模塊中自動生成文檔,有三種輸出形式:

  • 控制台文本
  • 本地web頁面
  • HTML文件

目前來說上面的命令就夠用了,其他用法可自行百度。

13. 參數、解包、變數

目標:寫一個可以接受參數的python腳本

Python不會一下子將它所有的功能給你,而是讓你需要什麼就引入什麼。

import語句. 是將python的功能引入你的腳本的方法.

這樣可以讓你的程序保持精簡,而後面的程序員看到你的代碼的時候,這些 import可以作為提示,讓他們明白你的代碼用到了哪些功能

=====================

前面我們執行Python腳本的命令為

python ex12.pyn

現在我們想要傳遞幾個值到Python腳本中去,可以直接加在命令後面

python ex13.py value1 value2 value3n

相應的,腳本中添加變數來接收這些值

from sys import argvnnscript, first, second, third = argvn

sys是python內置的一個「庫」,也被稱為「模塊」

argv也是一個變數,它包含了你從命令行中傳遞給python腳本的所有參數

後面,我們用4個變數來「解包」avgv中的值,這樣,每個傳遞進來的值都有一個變數來保存

「解包」,也就是把argv中的東西拆分開,依次分給左邊的變數

14. 提示和傳遞

在需要用戶輸入的地方給一個提示符>

用一個變數把這個提示符存起來,這樣你想修改它的時候就只需要修改一個地方

15. 讀取文件

處理文件的時候請小心,不要把文件弄壞或清空。找一個無關緊要的文件開始練習。

txt = open(filename)nprint txt.read()n

從open獲得的東西是一個file(文件)

第二行執行了file的read命令

通過命令行參數或者用戶輸入來獲取文件名,而不是把它寫死在代碼文件中。

read(...)n read([size]) -> read at most size bytes, returned as a string.n

對file執行close命令,處理完文件後將其關閉,這一點很重要。

16. 讀寫文件

  • open
  • write
  • close

#打開文件nprint "Opening the file..."ntarget = open(filename, w)n#寫入文件nline1 = raw_input("line1: ")ntarget.write(line1)ntarget.write(n)n#清空文件,truncate用於截斷文件,可以接受參數size,截斷後只留size大小內容n#不指定size則清空nprint "Truncating the file. Goodbye!"ntarget.truncate()n

寫入中文亂碼?

17. 更多文件操作

把一個文件的內容寫入另外的文件

input = open(from_file)nindata = input.read()nnlen(indata)nexists(to_file)nn# 打開文件,寫模式noutput = open(to_file, w)n# 寫入內容noutput.write(indata)nn# 關閉noutput.close()ninput.close()n

windows下使用type命令顯示文本內容

一行:

open(to_file, w).write(open(from_file).read())n

18. 命名、變數、代碼、函數

函數可以做三樣事情:

  1. 它們給代碼片段命名,就跟「變數」給字元串和數字命名一樣。
  2. 它們可以接受參數,就跟你的腳本接受 argv 一樣。
  3. 通過使用1和2,它們可以讓你創建「微型腳本」或者「小命令」。

以使用 def 新建函數

# this one is like your scripts with argvndef print_two(*args):n arg1, arg2 = argsn print "arg1: %r, arg2: %r" % (arg1, arg2)n

最好函數的名稱能夠體現出函數的功能來。


推薦閱讀:

如何用python解析json對象(基礎篇)
[新聞] CPython / 微軟 Pyjion / IBM Python+OMR
Flask框架從入門到實戰
python編程基礎(一)
配置IPython Notebook提供非本地訪問

TAG:Python | Python入门 |