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)
Python basic (from learn python the hard the way)的更多相关文章
- [IT学习]Learn Python the Hard Way (Using Python 3)笨办法学Python3版本
黑客余弦先生在知道创宇的知道创宇研发技能表v3.1中提到了入门Python的一本好书<Learn Python the Hard Way(英文版链接)>.其中的代码全部是2.7版本. 如果 ...
- 笨办法学 Python (Learn Python The Hard Way)
最近在看:笨办法学 Python (Learn Python The Hard Way) Contents: 译者前言 前言:笨办法更简单 习题 0: 准备工作 习题 1: 第一个程序 习题 2: 注 ...
- 《Learn python the hard way》Exercise 48: Advanced User Input
这几天有点时间,想学点Python基础,今天看到了<learn python the hard way>的 Ex48,这篇文章主要记录一些工具的安装,以及scan 函数的实现. 首先与Ex ...
- 学 Python (Learn Python The Hard Way)
学 Python (Learn Python The Hard Way) Contents: 译者前言 前言:笨办法更简单 习题 0: 准备工作 习题 1: 第一个程序 习题 2: 注释和井号 习题 ...
- Python之路,Day1 - Python基础1
本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语 ...
- Python之路,Day1 - Python基础1(转载Alex)
本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语 ...
- Python之路,Day1 - Python基础1 --转自金角大王
本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是个什么鬼? 数据类型初识 数据运算 表达式if ...else语 ...
- python学习笔记(python简史)
一.python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum) 目前python主要应用领域: ·云计算 ·WEB开发 ·科学运算.人工智能 ·系统运维 ·金融:量化交 ...
- Python第一天——初识Python
python是由荷兰人Guido van Rossum 于1989年发明的一种面向对象的的解释型计算机程序设语言,也可以称之为编程语言.例如java.php.c语言等都是编程语言. 那么为什么会有编程 ...
随机推荐
- [置顶]
滴滴插件化框架VirtualAPK原理解析(一)之插件Activity管理
上周末,滴滴与360都开源了各自的插件化框架,VirtualAPK与RePlugin,作为一个插件化方面的狂热研究者,在周末就迫不及待的下载了Virtualapk框架来进行研究,本篇博客带来的是Vir ...
- Ubuntu循环登录libGL error: fbConfigs swrast等
Ubuntu16.04更新NVIDIA驱动后,无法进入桌面,使用vim .xsession-errors 查看错误信息,如下: libGL error: No matching fbConfigs o ...
- 前端构建工具-fis3使用入门
FIS3 是面向前端的工程构建工具.解决前端工程中性能优化.资源加载(异步.同步.按需.预加载.依赖管理.合并.内嵌).模块化开发.自动化工具.开发规范.代码部署等问题. 官网地址是: https:/ ...
- git rebase 的作用
git rebase,顾名思义,就是重新定义(re)起点(base)的作用,即重新定义分支的版本库状态.要搞清楚这个东西,要先看看版本库状态切换的两种情况: 我们知道,在某个分支上,我们可以通过git ...
- Python:数据结构(list, tuple, Dict & Set)
list: Python中内置的有序数据结构,即数组.由于Python是动态语言,因此数组元素的类型没有限定. classmates = [“Michael”, “David”,”Bob”,”Trac ...
- HDU - 5887:Herbs Gathering (map优化超大背包)
Collecting one's own plants for use as herbal medicines is perhaps one of the most self-empowering t ...
- object references an unsaved transient instance - save the transient instance before flushing: com.jspxcms.core.domain.ScTeam
object references an unsaved transient instance - save the transient instance before flushing: com.j ...
- koa2 中间件里面的next到底是什么
koa2短小精悍,女人不爱男人爱. 之前一只有用koa写一点小程序,自认为还吼吼哈,知道有一天某人问我,你说一下 koa或者express中间件的实现原理.然后我就支支吾吾,好久吃饭都不香. 那么了解 ...
- Hadoop简介(1):什么是Map/Reduce
看这篇文章请出去跑两圈,然后泡一壶茶,边喝茶,边看,看完你就对hadoop整体有所了解了. Hadoop简介 Hadoop就是一个实现了Google云计算系统的开源系统,包括并行计算模型Map/Red ...
- 访问Mat矩阵中的元素并为其赋值
在OpenCV中有三种方式访问矩阵中的数据元素:容易的方式,困难的方式,以及正确的方式.今天主要讲容易方式: 最容易的方式是使用宏CV_MAT_ELEM( matrix, elemtype, row, ...