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

极客学院的课程,感觉很有意思,每节课都很短,但是很干货,我喜欢这个节奏

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

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


给application取名字,

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

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

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


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

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

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

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


在pythoncharm中选择用本地的Web2Py



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


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

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


运行--管理员密码--端口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方法












你可能感兴趣的:(Python学习笔记)