您的位置:首页 > 编程语言 > Python开发

【极客学院】-python学习笔记-Python快速入门(面向对象-引入外部文件-Web2Py创建网站)

2015-12-25 14:17 776 查看
极客学院的课程,感觉很有意思,每节课都很短,但是很干货,我喜欢这个节奏
http://www.jikexueyuan.com/course/203.html
课程背景:

Python语言功能强大,

能够开发命令行软件、窗体程序、桌面游戏、Android应用、网站等,

对于初学者来说,Python语言语法简单易学,代码结构清晰,是非常好的入门编程语言。

在OSX系统下搭建Python语言集成开发环境
http://www.jetbrains.com
[1]编码注释:

# coding=utf-8

[2]类型不匹配时:

print('Item '+i)
TypeError: Can't convert 'int' object to str implicitly


解决方法,

使用字符串拼接:item 加一个参数,用 format 把 i 传递给第一个参数

当然也可以加多个参数,format 可以同时传递多个参数,与前面的索引一一对应

for i in range(0,100):
print('Item {0}'.format(i))


for i in range(0,100):
print('Item {0},{1}'.format(i,'Hello'))


[3]面向对象:

课程地址:
http://www.jikexueyuan.com/course/202_5.html?ss=1
创建类执行:

class Hello:                                        #创建类

def sayhello(self):                              #定义方法
print('Hello')

h=Hello()                                           #创建实例,以执行方法
h.sayhello()


写构造方法:

class Hello:                                                #创建类

def __init__(self.name):                        #这个就是构造方法,再传进来一个参数name
self._name=name

def sayhello(self):                                     #定义方法
print('Hello {0}'.format(self._name))       #把参数附上

h=Hello('Alice')                                    #将参数name传递进去,创建实例,以执行方法
h.sayhello()


继承:

class Hello:                                                #创建类

def __init__(self,name):                                #这个就是构造方法,再传进来一个参数name
self._name=name

def sayhello(self):                                     #定义方法
print('Hello {0}'.format(self._name))               #把参数附上

class Hi(Hello):                                    #再写个类Hi,让它继承自Hello

def __init__(self,name):
Hello.__init__(self,name)                   #执行父类的构造方法,访问init,把self和name传递进来

def sayHi(self):                                        #定义方法
print('Hi {0}'.format(self._name))

h=Hello('Alice')                                            #将参数name传递进去,创建实例,以执行方法
h.sayhello()

h1=Hi('Smart')                                      #如果直接执行这样的会出错,因为还没有执行父类的构造方法
h1.sayHi()                                          #所以在Hi内要写构造方法


[4]引入外部文件:

import mylib                    #在loadlib中引入mylib外部文件

h=mylib.Hello()                 #创建实例,
h.sayHello()                    #访问sayHello方法


或者直接从mylib引入类Hello,就不用再写一行了:


form mylib import Hello

h=Hello()
h.sayHello()


[5]用python开发网站

网站框架:www.web2py.com

建立新的project,选择type和interpreter



给application取名字,

关于Use local Web2Py,如果不check直接点OK,则在工程中会自动到网站下载,好处是不用下载太多东西到本地

但是如果喜欢创建工程比较快的话,还是到网站下载好比较快



www.web2py.com 选择 download 选择 source code



将source code 下载到本地的一个文件夹里



在pythoncharm中选择用本地的Web2Py





之后就创建好了,是个完整的网站,甚至还有用户注册的功能



运行--管理员密码--端口8000

进入如下网址
http://127.0.0.1:8000/welcome/default/index
改成
http://127.0.0.1:8000/main
就可以访问main这个应用

登陆网站后台,查看所有程序,或者对所有程序进行管理,进入右侧admin

可以看到所有安装完的程序

可以修改管理员密码,可以创建新的应用,或者删除已经存在的应用

还可以在每个应用那里,注册用户

用Web2Py开发网站很方便

[6]Web2Py如何处理静态文件:

Applications/main/static/ 里面存了很多静态文件,可以直接通过地址访问

可以将外部图片拖进去,然后访问地址

可以新建html文件,通过地址访问

编写控制器
http://127.0.0.1:8000/main/
main/controllers:存放控制器,

控制器:用来定位特定的代码,此类代码可以与服务器进行交互,比如存储数据,生成页面等

在此文件夹里创建 python文件,

新建后,看default.py,有默认的规定:所处理的默认的方法为 index 方法,所以要写index 方法

例如,想返回特定的页面,就把特定的字符返回就行了

# coding=utf-8

def index():
return "Hello 2016"

def hello():
return "Hello"

http://127.0.0.1:8000/main/hello 可以直接访问index方法
http://127.0.0.1:8000/main/hello/hello 可以访问hello方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: