输入和输出
编程有时候需要和用户交互,比如让用户输入内容然后打印结果给他,我们可以用input()函数和print函数。
输出的话,我们可以用str类中的很多方法,比如用rjust方法获得一个正符合特殊长度的字符串。更多的细节可以看help(str)。
Input from user (用户输入)
我们让用户输入一个文本,然后判断是否是回文(正反读都一样,如madam,radar)
def reverse(text):
return text[::-1]
def is_palindrome(text):
return text==reverse(text)
something=input("Please enter text:")
if is_palindrome(something):
print("It's palindrome!")
else:
print("It's not palindrome.")
这样当用户输入一个回文时打印It's palindrome!,否则打印It's not palindrome.
File(文件)
我们可以在文件类中通过读、写等相应方法去打开一个文件去读取或写入,最后要用close方法关闭。
poem='''\
Programming is fun
When the works is done
if you wanna make your work also fun
use Python!
'''
#open fow 'w'riting
f=open('peom.txt','w')
#write text to file
f.write(poem)
#close the file
f.close()
#if no mode is spesfied,'r'ead mode is assumed by default
f=open('peom.txt')
while True:
line=f.readline()
#Zero lingth indicates EOF(End Of File)
if len(line)==0:
break
print(line,end='')
#close the file
f.close()
Output:
Programming is fun
When the works is done
if you wanna make your work also fun
use Python!
文件打开的默认参数是‘r’(读),另外还有‘w’(写)和‘a’(添加),同时分文本形式(‘t’)和字节形式(‘b’)
Pickle(腌)
Python提供了Pickle的标准模块,可以用来将任意的Python对象放入一个文件中,需要时再取出,这叫持久的储存对象。
import pickle
# The name of the file where we will store the object
shoplistfile = 'shoplist.data'
# The list of things to buy
shoplist = ['apple', 'mango', 'carrot']
# Write to the file
f = open(shoplistfile, 'wb')
# Dump the object to a file
pickle.dump(shoplist, f)
f.close()
# Destroy the shoplist variable
del shoplist
# Read back from the storage
f = open(shoplistfile, 'rb')
# Load the object from the file
storedlist = pickle.load(f)
print(storedlist)
Output:
['apple', 'mango', 'carrot']
在文件里储存一个对象,首先以写、二进制模式打开一个file 对象,然后调
用pickle 模块的dump 函数,这个过程称为pickling 。
接下来,我们用pickle 模块的返回对象的load 函数重新取回对象。这个过程称之
为unpickling 。
Unicode
不过英文或者非英文,我们都可以用Unicode来表述出来。Python3里面已经默认存储字符串变量在Unicode,但Python2涉及到非英文的,要在前面加‘u’来提示使用Unicode。
当数据发送到因特网时,我们需要用二进制,这样计算机才容易懂。我们称转换Unicode码到二进制为encoding(编码),一个比较流行的编码是UTF-8。我们可以用一个简单的关键字语法来读写我们的open函数。
# encoding=utf-8
import io
f = io.open("abc.txt", "wt", encoding="utf-8")
f.write(u"Imagine non-English language here")
f.close()
text = io.open("abc.txt", encoding="utf-8").read()
print(text)
下一步要接触“exceptions”了,这几章的内容是是而非,感觉掌握了,又没有非常熟练,工作忙又沉不下心来。