本篇文章给大家谈谈笨办法学python第五版百度云,以及笨办法学python3第五版,希望对各位有所帮助,不要忘了收藏本站喔。
Source code download: 本文相关源码
文章目录
1.#
井号有很多的英文名字,例如:’octothorpe(八角帽)’,’pound(英镑符)’, ‘hash(电话的#键)’,
‘mesh(网)’ 等。
2.为什么 % 是求余数符号,而不是百分号?
很大程度上只是因为涉及人员选择了这个符号而已不学python可以学c语言吗。一般而言它是百分号没错,就跟 100% 表示
百分之百一样。在编程中除法我们用了 /,而求余数又恰恰选择了 % 这个符号,仅此而已。
3.%* 是怎么工作的?
换个说法就是“X 除以 Y 还剩余 J”,例如“100 除以 16 还剩 4”。 % 运算的结果就是 J 这部
分。
4.格式化字符
在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%,括号可以省略。
字符串格式化符号
%c 格式化字符及其ASCII码
%s 格式化字符串
%d 格式化整数
%u 格式化无符号整型
%o 格式化无符号八进制数
%x 格式化无符号十六进制数
%X 格式化无符号十六进制数(大写)
%f 格式化浮点数字,可指定小数点后的精度
%e 用科学计数法格式化浮点数
%E 作用同%e,用科学计数法格式化浮点数
%g %f和%e的简写
%G %f 和 %E 的简写
%p 用十六进制数格式化变量的地址
格式化操作符辅助指令
符号 功能
* 定义宽度或者小数点精度
- 用做左对齐
+ 在正数前面显示加号( + )
在正数前面显示空格
# 在八进制数前面显示零(‘0’),在十六进制前面显示’0x’或者’0X’(取决于用的是’x’还是’X’)
0 显示的数字前面填充0
而不是默认的空格
% ‘%%‘输出一个单一的’%’
(var) 映射变量(字典参数)
m.n. m是显示的最小总宽度,n是小数点后的位数(如果可用的话)
5.%r 和 %s 有什么不同?
%r 用来做 debug 比较好,因为它会显示变量的原始数据(raw data),而其它的符
号则是用来向用户显示输出的。
6.单引号双引号问题
formatter = "%r %r %r %r"
print (formatter % (1, 2, 3, 4))
print (formatter % ("one", "two", "treee", "four"))
print (formatter % (True, False, True, False))
print (formatter % (formatter, formatter, formatter, formatter))
print (formatter % (
"I had this thing.",
"That you could type up right.",
"But it didn't sing.",
"So I said goodnight."
))
"""
'one' 'two' 'treee' 'four'
True False True False
'%r %r %r %r' '%r %r %r %r' '%r %r %r %r' '%r %r %r %r'
'I had this thing.' 'That you could type up right.' "But it didn't sing." 'So I said goodnight.'
[Finished in 0.4s]
"""
“But it didn’t sing.” 有didn’t所以输出是双引号的。
7.input和raw_input
input只接受数字
raw_input字符串来看待,返回字符串
8.文件读写
每次你运行 f.seek(0) 你就回到了文件的开始,而运行f.readline() 则会读取文件的一行
9.加减乘除问题
def add(a, b, c, d):
print ("%d + %d / %d - %d" % (a, b, c, d))
return a+b/c-d
age = add (24, 34, 100, 1023)
print ("age: %d" % age)
"""
24 + 34 / 100 - 1023
age: -998
[Finished in 0.2s]
"""
10.class()与class(object)的区别
在python2中,class(object)定义时,class继承了object()的属性;
在python3中,class()默认继承了object();
object是继承的意思,面向对象语言中都有这样一种特性。继承,指一个对象直接使用另一对象的属性和方法。
11.继承
class Parent(object):
def override(self):
print ("PARENT override()")
def implicit(self):
print ("PARENT implicit()")
def altered(self):
print ("PARENT altered()")
class Child(Parent):
def override(self):
print ("CHILD override()")
def altered(self):
print ("CHILD, BEFORE PARENT altered()")
super(Child, self).altered()
print ("CHILD, AFTER PARENT altered()")
dad = Parent()
son = Child()
dad.implicit()
son.implicit()
dad.override()
son.override()
dad.altered()
son.altered()
"""
PARENT implicit()
PARENT implicit()
PARENT override()
CHILD override()
PARENT altered()
CHILD, BEFORE PARENT altered()
PARENT altered()
CHILD, AFTER PARENT altered()
[Finished in 0.2s]
"""
一共三种情况
implicit()隐式继承,默认跟随父类
override()重写,子类重写,覆写
altered() 覆写了 Parent.altered ,实际运行的是 Child.altered
super(Child, self).altered()
12.合成
class Other(object):
def override(self):
print "OTHER override()"
def implicit(self):
print "OTHER implicit()"
def altered(self):
print "OTHER altered()"
class Child(object):
def __init__(self):
self.other = Other()
def implicit(self):
self.other.implicit()
def override(self):
print "CHILD override()"
def altered(self):
print "CHILD, BEFORE OTHER altered()"
self.other.altered()
print "CHILD, AFTER OTHER altered()"
son = Child()
son.implicit()
son.override()
son.altered()
13.第一个网站
安装lpthw.web------pip install lpthw.web
13.1 python软件包安装
1.pip – http://pypi.python.org/pypi/pip
2.distribute – http://pypi.python.org/pypi/distribute
3.nose – http://pypi.python.org/pypi/nose/
4.virtualenv – http://pypi.python.org/pypi/virtualenv
整理出来
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
pip install distribute==0.7.3
pip install nose
pip install virtualenv
13.2 创建hello world项目
$ cd projects
$ mkdir gothonweb
$ cd gothonweb
$ mkdir bin gothonweb tests docs templates
$ touch gothonweb/__init__.py
$ touch tests/__init__.py
创建bin/app.py
import web
urls = (
'/', 'index'
)
app = web.application(urls, globals())
class index:
def GET(self):
greeting = "Hello World"
return greeting
if __name__ == "__main__":
app.run()
到bin上一级目录运行
$ python bin/app.py
到网页去看 http://localhost:8080/
会发现
$ python bin/app.py
http://0.0.0.0:8080/
127.0.0.1:59542 - - [13/Jun/2011 11:44:43] "HTTP/1.1 GET /" - 200 OK
127.0.0.1:59542 - - [13/Jun/2011 11:44:43] "HTTP/1.1 GET /favicon.ico" - 404 Not
Found
13.3 进阶使用模版
创建一个 templates/index.html 文件
内容如下
$def with (greeting)
<html>
<head>
<title>Gothons Of Planet Percal #25</title>
</head>
<body>
$if greeting:
I just wanted to say <em style="color: green; font-size:2em;">$greeting</em>.
$else:
<em>Hello</em>, world!
</body>
</html>
修改 bin/app.py
import web
urls = (
'/', 'Index'
)
app = web.application(urls, globals())
render = web.template.render('templates/')
class Index(object):
def GET(self):
greeting = "Hello World"
return render.index(greeting = greeting)
if __name__ == "__main__":
app.run()
好了,去网页查看
13.4 表单(from)
修改 bin/app.py
import web
urls = (
'/', 'Index'
)
app = web.application(urls, globals())
render = web.template.render('templates/')
class Index(object):
def GET(self):
form = web.input(name="Nobody")
greeting = "Hello, %s" % form.name
return render.index(greeting = greeting)
if __name__ == "__main__":
app.run()
测试
接下来,将浏览器的地址改成 http://localhost:8080/?name=Frank,
13.5 表单多个参数
多个参数,修改bin/app.py
import web
urls = (
'/','index',
)
app = web.application(urls, globals())
render = web.template.render('templates/')
class index(object):
def GET(self):
form = web.input(name="Nobody", greet=None)
if form.greet:
greeting = "Hello %s, %s"%(form.name, form.greet)
return render.index(greeting=greeting)
else:
return "ERROR:GREET IS REQUIRED!"
if __name__=="__main__":
app.run()
测试一个参数
测试两个参数
13.6 创建HTML表单
创建templates/hello_form.html
<html>
<head>
<meta charset="UTF-8">
<title>Hello</title>
</head>
<body>
<form action="/" method="POST">
A Greeting:<input type="text" name="greet">
<br/>
Your Name:<input type="text" name="name">
<br/>
<input type="submit">
</form>
</body>
</html>
修改bin/app.py
import web
urls = (
'/','index',
)
app = web.application(urls, globals())
render = web.template.render('templates/')
class index(object):
def GET(self):
return render.hello_form()
def POST(self):
form = web.input(name="Nobody", greet="Hello")
greeting = "%s, %s"%(form.name, form.greet)
return render.index(greeting=greeting)
if __name__=="__main__":
app.run()
测试
输入值
参考文献:《笨方法学习python》