1. 程式人生 > >python學習日記_第六天(ex14~15)

python學習日記_第六天(ex14~15)

L14 提示和傳遞

1.鞏固引數和變數還有%這個字串格式化工具

2.提示符可以定義一個固定值來複用會比較方便

#coding:utf-8
from sys import argv

#指令碼,使用者名稱,男主角,女主角
script, user_name, role_man, role_woman = argv
#提示符
prompt = '> '

print "Hi %s, I'm the %s script." % (user_name, script)
print "I'd like to ask you a few questions."
print "Do you like me %s?" % user_name
#獲得輸入
likes= raw_input(prompt)

print "Do you know about %s?" % role_man
know_man = raw_input(prompt)

print "Do you know about %s?" % role_woman
know_woman = raw_input(prompt)

print """
Alright, so you said %r about liking me.
You said %r about knowing %s.
And %r about knowing %s.
But I know them.they love each other very much.
""" % (likes, know_man, role_man, know_woman, role_woman)

"""
加分題:
1查一下 Zork 和 Adventure 是兩個怎樣的遊戲。看看能不能下載到一版,然後玩玩看。 
32位才能玩,64位不好跑,就是個純文字用程式碼命令玩的冒險遊戲。

2.將 prompt 變數改成完全不同的內容再執行一遍。 
已執行過

3.給你的指令碼再新增一個引數,讓你的程式用到這個引數。 
新增role_man和role_women引數

4.確認你弄懂了三個引號 \"\"\" 可以定義多行字串,而 % 是字串的格式化工具。
sure
"""

L15讀取檔案

1.熟悉了讀取命令的方式,通過引數和使用者輸入兩種方式得到檔案位置。

2.通過pydoc得到read的拓展命令。

3.通過close()點到垃圾回收程式思想。

#coding:utf-8
#習題 15: 讀取檔案
#下面是練習原始碼
from sys import argv
script, filename = argv

txt = open(filename)
print "Here's your file %r:" % filename
print txt.readlines()
#加分題8,close
txt.close()


print "Type the filename again:"
user_filename = raw_input("> ")
txt_again = open(user_filename)
print txt_again.read()
#加分題8,close
txt_again.close()

"""
加分題:
1.在每一行的上面用註解說明這一行的用途。 
2.如果你不確定答案,就問別人,或者上網搜尋。大部分時候,只要搜尋 “python” 加上你要搜的東西就能得到你要的答案。比如搜尋一下“python open”。 
我使用了“命令”這個詞,不過實際上它們的名字是“函式(function)”和“方法(method)。上網搜尋一下這兩者的意義和區別。看不明白也沒關係,迷失在別的程式設計師的知識海洋裡是很正常的一件事情。 
	函式(function)和方法(method)基本是一樣的,都是實現功能的一段程式碼,少量的區別:
	1.函式主要是內部使用,方法主要是暴露給外部使用
	2.函式偏面向過程,方法偏面向物件

4.刪掉 10-15 行使用到 raw_input 的部分,再執行一遍指令碼。 
當然可以執行,只是沒有輸入和再輸出的部分。

5.只是用 raw_input 寫這個指令碼,想想那種得到檔名稱的方法更好,以及為什麼。 
這個沒有本質的好與壞,看需求,通過引數定義可以讓使用者不輸入也能得到一個檔名?

6.執行 pydoc file 向下滾動直到看見 read() 命令(函式/方法)。看到很多別的命令了吧,你可以找幾條試試看。不需要看那些包含 __ (兩個下劃線)的命令,這些只是垃圾而已。 
7.再次執行 python 在命令列下使用 open 開啟一個檔案,這種 open 和 read 的方法也值得你一學。 
readline([size]):只讀取第一行,可以輸入size來指定讀取長度。
readlines():讀取檔案後返回一個字串列表,每一行作為一個元素。

8讓你的指令碼針對 txt and txt_again 變數執行一下 close() ,處理完檔案後你需要將其關閉,這是很重要的一點。 
close()是為了釋放資源。如果不close(),那就要等到垃圾回收時,自動釋放資源。垃圾回收的時機是不確定的,也無法控制的。
很重要程式思想。

"""



相關推薦

python學習日記_(ex14~15)

L14 提示和傳遞 1.鞏固引數和變數還有%這個字串格式化工具 2.提示符可以定義一個固定值來複用會比較方便 #coding:utf-8 from sys import argv #指令碼,使用者名稱,男主角,女主角 script, user_name, role_m

python學習日記_(ex16~17)

L16讀寫檔案 1.通過賦予open() ‘w’引數來寫入內容到檔案中。 #coding:utf-8 #習題 16: 讀寫檔案 #備註:執行時遇到問題,執行完畢後發現檔案沒有被修改。找到原因是因為: #***沒有給出txt的絕對路徑時,檔案會在當前目錄下生成,而不是我希

.Net基礎篇_學習筆記__關系運算符和邏輯運算符

不能 main 運算 ram true con 是否 names 關系 1.關系運算符 包含:> < <= >= == != 以及bool類型中的true和false。 2.邏輯運算符 與 &

python學習之路--一個簡單的腳本

tro 說明 .py else zipfile rect dylib 環境 cef 現在有一個需求:把某個目錄下的文件備份到指定到另外一個目錄下,而且壓縮後文件為zip文件 # -*- coding:utf-8 -*- #! /usr/bin/python # Filena

python學習之路--python面向對象編程簡介

構造函數 represent eth 賦值 nts 數據 and 面向 七天 面向對象編程 在python中,同樣是類和對象作為重要的組成部分。 而且在python中基本數據類型如int都是有封裝類的,都有自己的方法,應該是和java裏面的Integer類似吧 類包括域和方

Python學習筆記(,文件操作、函數)

input 釋放空間 打開方式 只需要 不能 解決 信息 無法查看 一個 一、文件處理   1、文件打開模式    打開文本的模式,默認添加t,需根據寫入或讀取編碼情況添加encoding參數。    r 只讀模式,默認模式,文件必須存在,不能存在則報異常。    w

python學習筆記:7 深淺拷貝

我們 spl 交集 再次 ipy section 結束 技術分享 dict 目錄 1. 基礎數據類型補充 2. set集合 3. 深淺拷貝 1. 基礎數據類型補充 (1)join方法 join方法是把一個列表中的數據進行拼接,拼接成字符串(與split方法相反,spli

python學習筆記:8 文件操作

只讀 查看 lse tex ati 使用場景 java 創建文件 存在 1. 文件操作介紹 說到操作文件我們肯定會想到流,文件的操作都是通過流來操作的。在python中文件的操作非常簡單,並不像Java等其他語言一樣有各種各樣的流操作,我們直接使用open函數即可打開一個文

python學習筆記:11 閉包及迭代器

目錄 1. 函式名的使用 2. 閉包 3. 迭代器 1. 函式名的使用 其實函式名也是一個變數,但它是一個比較特殊的變數,與小括號配合可以執行函式的變數: 函式名其實和記憶體一樣,也可以使用print檢視它的記憶體地址: In[22]: def func1(): .

python學習筆記:12 列表推導式和生成器

目錄 1. 迭代器 2. 推導式 1. 迭代器 什麼是生成器呢,其實生成器的本質就是迭代器;在python中有3中方式來獲取生成器(這裡主要介紹前面2種) 通過生成器函式獲取 通過各種推導式來實現生成器 生成器函式 我們來看一個普通的函式: In[2]: def fu

python學習筆記:12 列表推導式和生成器

clas traceback 括號 module recent else 接收 工作 last 目錄 1. 叠代器 2. 推導式 1. 叠代器 什麽是生成器呢,其實生成器的本質就是叠代器;在python中有3中方式來獲取生成器(這裏主要介紹前面2種) 通過生成器函數獲

java學習之路------

今天開始講了java中很重要的一個知識點,那就是方法(函式) 什麼是方法:         定義:能夠實現某種特定功能的程式碼塊。 語法:       修飾符&nb

python學習筆記:18 面向物件04-反射

目錄 issubclass和isinstance 區分函式和方法 反射 issubclass和isinstance issubclass:可以判斷一個類是否另一個類的子類。 # issubclass class A: pass class B(A): p

python學習筆記:21 常用內建模組-1

目錄 一、collections模組 二、時間模組 也可以在我的個人部落格上閱讀 一、collections模組 1. Counter Counter是⼀個計數器,主要⽤統計字元的數量,之前如果我們要統計字串的話要寫如下演算法: s = 'Wed Nov 14 08:58:45 CS

廖大python實戰項目

urn 遞歸調用 {} item for 不容易 對象 ide pytho 今天的比較簡單,我就直接把源碼上自己不容易搞懂的寫一下吧。 merge()方法 def merge(defaults, override): r = {} for k, v in d

python學習筆記】6

繼續今天的python學習 昨天學到用multiprocessing模組中的Process類建立程序,那麼今天學會建立一個Process的子類來建立一個程序 from multiprocessing import Process import time class My

python學習筆記】8

繼續今天的python學習 昨天我們說到了多執行緒共享資料(全域性變數),那麼今天我們就緊接著來說一下多執行緒不共享資料的使用方式 import threading import time def test1(): the_number = 0 for i

Python學習筆記:4 字串的操作

目錄 1. python的資料型別 int 整數 str 字串。一般不會用字串儲存大量的資料 bool 布林值:True和False list 可以存放大量的資料(可以任意的資料型別) dict 字典 => key: value 查詢資料的速度快 set

python學習筆記:11 閉包及迭代器

目錄 1. 函式名的使用 其實函式名也是一個變數,但它是一個比較特殊的變數,與小括號配合可以執行函式的變數: 函式名其實和記憶體一樣,也可以使用print檢視它的記憶體地址: In[22]: def func1(): ...: pass ...: In[23]: print(fun

學習html5的課堂筆記

回顧總結 1.字型規則 1)color 2)cursor 3)font-family 1. 常規字型 2. 常用字型 3. 字型棧 4. webfont 5. 字型圖示(第一個框架) fon