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语言等都是编程语言. 那么为什么会有编程 ...
随机推荐
- 文本数据预处理:sklearn 中 CountVectorizer、TfidfTransformer 和 TfidfVectorizer
文本数据预处理的第一步通常是进行分词,分词后会进行向量化的操作.在介绍向量化之前,我们先来了解下词袋模型. 1.词袋模型(Bag of words,简称 BoW ) 词袋模型假设我们不考虑文本中词与词 ...
- [数据处理] LabelEncoder编码
原创博文,转载请注明出处! # LabelEncoder介绍 LabelEncoder是对不连续的数字或文本编号. # LabelEncoder例子 # -*- coding: utf-8 ...
- (function($){...})(jQuery)与$(function(){...})区别
$(function(){...}) 这种写法和jQuery(function(){...}),$(document).ready(function(){...})作用一样,表示文档载入后需要运行的代 ...
- BZOJ4668 冷战 【LCT】
Description 1946 年 3 月 5 日,英国前首相温斯顿·丘吉尔在美国富尔顿发表"铁幕演说",正式拉开了冷战序幕. 美国和苏联同为世界上的"超级大国&quo ...
- hadoop常见错误汇总及解决办法一
我们经常会遇到一些问题,而且可能会重复性遇到,这些方案可以收藏为以后备用.我们经常遇到如下问题:1.两次以上格式化造成NameNode 和 DataNode namespaceID 不一致,有几种解决 ...
- pat甲级 1155 Heap Paths (30 分)
In computer science, a heap is a specialized tree-based data structure that satisfies the heap prope ...
- js禁用后退
history.pushState(null, null, document.URL); window.addEventListener('popstate', function() ...
- 【mongodb】Mongodb初识
MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系 ...
- jest js 测试框架-简单方便人性化
1. 安装 yarn global add jest-cli or npm install -g jest-cli 备注:可以安装为依赖不用全局安装 2. 项目代码 a. 项目初始化 yarn ini ...
- vue数据已渲染成 但还是报错 变量 undefined
问题:页面上的数据已渲染出来,但是控制台还是报错变量未undefined,主要是当页面加载完成后,数据并未加载完,所以会报次错误. 解决办法:在数据渲染的主节点(最外层的div)添加 v-if=“da ...