Python basic (from learn python the hard the way)
1. How to run the python file?
python ...py
2. UTF-8 is a character encoding, just like ASCII.
3. round(floating-point number)
4. %r print the way you write. It prints whatever you write, even if you have special characters, such as '\n'.
5. how to open a file?
from sys import argv
script, filename = argv
txt = open(filename)
print(txt.read())
ah = input(">")
print(ah.read())
6. how to edit a file?
from sys import argv
script, filename = argv
target = open(filename, 'w') # open for writing, truncating the file first
target.truncate()
line1 = input()
line2 = input()
target.write(line1)
target.write("\n")
target.write(line2)
target.close()
6. copy a file
from sys import argv
from os.path import exists # os.path is a module of python and we need to use its exists function
script, from_file, to_file = argv
print("Copying from %s to %s" % (from_file, to_file))
in_file = open(from_file);
indata = in_file.read() #write in one line: indata = open(from_file).read()
print("The input file is %d bytes long" % len(indata)) #return the number of bytes of indata
print("Does the output file exist? %r" % exists(to_file))
out_file = open(to_file, 'w') #we need ot write the new file
out_file.write(indata) #directly use indata file to write out_file
out_file.close()
in_file.close()
#much more easier one open(argv[2], 'w').write(open(argv[1]).read())
7. functions in python
def print_two(*args):
a, b = args
print("haha %r, and %r" % (a, b))
def haha():
print("mdzz")
print_two('a', 'b')
haha()
8. functions and files
from sys import argv
script, input_file = argv
def print_all(f):
print f.read()
def rewind(f):
f.seek(0) #seek function is file's function. It can represent the current position at the offset.
#default is 0.
def print_a_line(line_count, f):
print line_count, f.readline()
current_file = open(input_file)
print "First let's print the whole file:\n"
print_all(current_file)
print "Now let's rewind, kind of like a tape."
rewind(current_file)
print "Let's print three lines:"
current_line = 1
print_a_line(current_line, current_file)
current_line = current_line + 1
print_a_line(current_line, current_file)
current_line = current_line + 1
print_a_line(current_line, current_file)
9. some function
#split(str, num) function
#return a list of all the words in the string
#use str as a sperate
#num represent the number of lines
w="123 456 789"
w.split() # result is ['123', '456', '789'], use the default mode
w.split(' ', 1) #result is ['123', '456 789']
#sorted() function
#It can be used to sort a string
w='acb'
w.sorted() #result is ['a', 'b', 'c']
#pop(i) function
#remove the item at the given postion in the list and return it
#if () is empty, we wiil remove and return the last item of the list
w=[1,2,3]
w.pop() #w=[1,2]
w.pop(0) #w=[2]
#If we are confused about a module, #we can use help(module) to learn about it. help(module)
10. if statement
#if-statement
if ... :
#...
elif ... :
#...
else :
#...
11. for and list
a = [1, 2, 3] #list
b = [] #a mix list
for i in range(0, 5):
print("%d" % i)
b.append(i)
#range(a, b) is a, a+1, ... , b-1
#list.append(obj) add the obj to a list
12. while loop
a = input()
while int(a)>10:
print(a)
a = input()
13. with-as
#with-as statement is a control-flow structure.
#basic structure is
#with expression [as variable]:
# with-block
#It can used to wrap the excution of a block with method defined by a context manager.
#expression is represented a class. In the class, we must have two functions.
#One is __enter__(), the others is __exit__().
#The variable is equal to the return of __enter__(). If we do not have [as variable], it will return nothing.
#Then we will excute with-block. At the end, we will excute __exit__().
#__exit__函数的返回值用来指示with-block部分发生的异常是否要re-raise,如果返回False,则会re-raise with-block的异常,如果返回True,则就像什么都没发生。
import sys
class test:
def __enter__(self): #need one argument
print("enter")
return self
def __exit__(self, type, value, trace): #need 4 arguments
print(type, value, trace)
return True
def do(self):
a=1/0
return a
with test() as t:
t.do()
#result
#enter
#<class 'ZeroDivisionError'> division by zero <traceback object at 0x1029a5188>
#It's mostly used to handle the exception.
#a esier simple
with open(filename, 'w') as f:
f.read()
#We do not need to close the file. It can be closed itself.
14. assert-statement
#assert statement
#syntax:
# assert expression , [Arguments]
#If expression fails, python uses arguments expression.
def a(b):
assert b>1, print("wrong!")
b = input('>')
a(b)

浙公网安备 33010602011771号