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语言等都是编程语言. 那么为什么会有编程 ...
随机推荐
- asp.net Npoi 使用
HSSFWorkbook hssfworkbook = new HSSFWorkbook(); //增加 ExcelNPOI.SS.UserModel.ISheet SheetName = hssfw ...
- 一名十年Java程序员回忆阿里面试经历——揭开阿里面试的“遮羞布”
阿里面试经历 去阿里面试可以说非常非常的偶然和戏剧性,因为本人根本没投简历,以至于阿里hr给我电话的时候我一度认为是诈骗电话.因为深圳这家公司不错我还想在这里干个两年左右再考虑考虑. 这个时候的本人已 ...
- linux前奏
1:选典型 2:选稍后自定义安装系统 3: 4: :5:弹出清单 二:装系统 下载linux的网址:https://mirrors.aliyun.com/centos/ 1: 2: 3: 2:如何修改 ...
- crm 02--->讲师页面及逻辑
要求: 讲师 批量初始化 考勤 录入成绩 批量初始化 考勤与批量初始化这两个功能都要放在课程记录表中CourseRecord # 批量初始化 # 将该班的所有学生,初始化带某一天,而不是将每个学生一个 ...
- Microsoft Office Powerpoint、Visio 已停止工作解决办法
现象:在使用visio的过程中经常会出现“Microsoft office visio已停止工作”只能将visio关闭:windows可以尝试恢复您的信息并重新启动该程序.office的其他组件不会出 ...
- BZOJ5281: [Usaco2018 Open]Talent Show(01分数规划&DP)
5281: [Usaco2018 Open]Talent Show Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 166 Solved: 124[S ...
- linux 下的定时任务的设置
为当前用户创建cron服务 1. 键入 crontab -e 编辑crontab服务文件 例如 文件内容如下: */2 * * * * /bin/sh /home/admin/jiaoben/bu ...
- web.xml中配置classpath:和classpath*:的区别和意思
首先 classpath是指 WEB-INF文件夹下的classes目录 解释classes含义: 1.存放各种资源配置文件 eg.init.properties log4j.properties s ...
- 基于jquery的可查询多级select控件(可记录历史选择)
一.功能和使用 公司有功能需求,还要一条代码引入的控件,网上找完全符合的控件比较难,寻找所花的时间还不如自己写一个,所以找个空闲时间自己写了一个 控件功能:1.可手动输入查询,也可点击下拉框查询, ...
- 使用npm link 创建本地模块
1. npm link 介绍 创建一个全局的符号链接,优点是方便我们进行本地node模块的开发调用,和后期发布私服,或者npm 仓库调用是一致的 以下为官方的说明: First, npm link i ...