从零开始学Python-day6

Python--Day6

学习要有定位,明确目标地去学习。希望自己能坚持下去,并有所收获---leaves

python05 -- python函数、文件小讲以及模块和初识flask Web框架

一、文件处理及相关函数

open(文件路径,打开模式) 或者with open() as f:

读写、追加文件

数据库

#configparse 配置文件写成一个字典

read   readline  readlines

write  writelines

文件指针函数

tell()   文件指针的位置

seek()    移动指针

flush()    将内存写入到硬盘上

二、函数

**python核心思想: 函数化编程  ==>重点

2.1 函数概念

函数:python编程中基本的单元

def  函数名(参数可忽略):

函数体

return  返回值

2.2 函数的主要理解:函数式编程 FP

一、注意理解hello 和 hello()的区别,前者是抽象的函数,后者是具体的返回值

二、函数可以是参数,进行传递

##代码示例

In [1]: def fishing():
   ...:     print "diaoyu is good "
   ...:     return ‘fish‘
In [3]: fishing()
diaoyu is good 
Out[3]: ‘fish‘
In [5]: def doSth(fn):
   ...:     print fn() + ‘is got ‘
   ...:     return ‘ok‘
 
In [6]: doSth(fishing)
diaoyu is good 
fishis got 
Out[6]: ‘ok‘

###sorted()函数配合lambda匿名函数实现排序
In [7]: arr = [(‘age‘,1),(‘age‘,19),(‘age‘,51),(‘age‘,13),(‘age‘,31),(‘age‘,41),(‘age‘,12)]
In [8]: print sorted(arr,key=lambda x:x[1])
[(‘age‘, 1), (‘age‘, 12), (‘age‘, 13), (‘age‘, 19), (‘age‘, 31), (‘age‘, 41), (‘age‘, 51)]

三、模块

3.1 模块定义

模块:简单的理解,模块就是文件,我们可以把一个功能存在一个文件中,通过import调用.

3.2 模块的分类

模块整体上分为三类:

1.python自带的模块,如sys,os,math,random,time模块等

2.第三方开发者开发的模块,可以通过pip install 安装,然后import调用导入使用,如flask,requests,pyquery,psutil等

3.自己开发的模块

引申:python中文件夹默认不能导入的,如果需要导入文件夹的话需要添加__init__.py文件,__init__.py文件可以为空,其主要目的是使文件夹变成包以达到可以导入的目的.

调用格式:from  "文件目录名" import "导入的函数"

##自己开发的模块示例:

##自己编写的模块

[[email protected] code]# pwd
/usr/local/src/newbie/05/code
##文件编写的模块内容
[[email protected] code]# cat hello.py
def hello_world():
	print "hello world"

##ipython中导入模块及使用
In [1]: import hello
In [3]: print hello.hello_world()
hello world
None
In [4]: pwd
Out[4]: u‘/usr/local/src/newbie/05/code‘

3.3 模块调用的方式

模块的使用主要有三种方式:

1.import  模块名

调用:模块名.函数名()

2. from 模块名  import  函数名

调用:函数名()

3. from  模块名   import  *

调用:函数名()  #导入模块中所有函数,不推荐使用

3.3.1  import的查找路径顺序:

当前路径---> systempath(系统路径)

1.当前路径:当前目录

2.systempath

3. 文件名不要和模块名重复以免调用异常

##systempath 的查看方法:
import sys
sys.path
In [7]: sys.path
Out[7]:
[‘‘,
‘/usr/local/python27/bin‘,
‘/usr/local/python27/lib/python27.zip‘,
‘/usr/local/python27/lib/python2.7‘,
‘/usr/local/python27/lib/python2.7/plat-linux2‘,
‘/usr/local/python27/lib/python2.7/lib-tk‘,
‘/usr/local/python27/lib/python2.7/lib-old‘,
‘/usr/local/python27/lib/python2.7/lib-dynload‘,
‘/usr/local/python27/lib/python2.7/site-packages‘,
‘/usr/local/python27/lib/python2.7/site-packages/IPython/extensions‘,
‘/root/.ipython‘]

3.3.2 **注意import 会把模块里的代码执行一遍

#示例代码

[[email protected] code]# python run.py 
Welcome Module Hello
hello world
None
[[email protected] code]# cat hello.py
def hello_world():
	print "hello world"
print "Welcome Module Hello"
[[email protected] code]# cat run.py 
import hello
print hello.hello_world()
[[email protected] code]# 
[[email protected] code]# python run.py 
Welcome Module Hello
hello world
None

3.3.3 import模块出现的矛盾

问题,如3.3.2中的代码,如果引入的时候我不希望执行hello_world()函数外边的print语句,该怎么解决呢。

为了解决引入模块时执行该引入模块中不需要的东西,所以Python中添加判断来解决

if __name__ == "__main__":

代码块

将所引入模块其本身才需要执行的代码放到if判断内,以防止调用被随意的执行。

#示例代码如下:

##run.py 的内容
[[email protected] code]# cat run.py 
import hello
print hello.hello_world()

##hello.py的内容
[[email protected] code]# cat hello.py
def hello_world():
	print "hello world"
if __name__ == ‘__main__‘:  #<====练习__name__变量
	print "Welcome Module Hello"

	[[email protected] code]# python run.py 
hello world
None
[[email protected] code]#

3.3.4 python自带变量__name__

__name__:该变量主要是为了识别执行的.py文件是否为函数的文件本身执行的,如果__name__ == "__main__"则证明是其本身执行的,否则,该函数被调用执行的。这时候__name__等于被调用的文件名。

####__name__ == "__main__"的情况

##主文件的内容
[[email protected] code]# cat hello.py
def hello_world():
	print "hello world"
	print" __name__  == ‘%s‘ " %(__name__)

if __name__ == ‘__main__‘:
	hello_world()
	print "Welcome Module Hello"

[[email protected] code]#
 
###执行主文件的结果
[[email protected] code]# python hello.py
hello world
 __name__  == ‘__main__‘ 
Welcome Module Hello

###被调用的执行情况:

###被引用的hello.py文件
[[email protected] code]# cat hello.py
def hello_world():
	print "hello world"

print" __name__  == ‘%s‘ " %(__name__)

if __name__ == ‘__main__‘:
	hello_world()
	print "Welcome Module Hello"
[[email protected] code]# 

###主程序文件run.py的内容
[[email protected] code]# cat run.py 
import hello

print hello.hello_world()

##程序的执行结果,非主程序执行的话,__name__等于被调用的文件名。

[[email protected] code]# python run.py 
 __name__  == ‘hello‘ 
hello world
None

四、 Web开发之flask模块

4.1 安装flask

pip install -y flask

##安装flask
[[email protected] code]#pip install -y flask 

##查看flask是否安装
[[email protected] code]# pip list |grep Flask 
Flask (0.11.1)
Flask-JSONRPC (0.3.1)
[[email protected] code]#

4.2 Web开发介绍

随着php、python、javascript等脚本语言大爆发,导致web开发也进入新的时代.

URL:统一资源标识符

协议://域名:端口/资源地址?携带的参数1=2&参数2=3#页面锚点

URI:统一资源定位符

网络协议五元组(网络协议、用户ip、用户端口、服务ip、服务端口)

Web开发框架之flask与djiago对比

flask :

简洁 、上手迅速 。第三方定制容易

django :

大而全,用第三方的定制比较难,不过django 已经很全了。文档很全面

4.3 第一个flask程序

flask的调用格式:

[[email protected] code]# cat flask_web.py

#引入flask的启动模块,写死的
from flask import Flask

##new app(新建一个flask的app也是写死的)
app = Flask(__name__)

##监听路由,就是url在域名和端口后面的
##当域名和端口后面,只有一个/的时候,这个路由触发
@app.route(‘/‘)
##路由对应的处理函数,触发路由的时候执行
#处理函数的返回值,显示在浏览器
def  index():
	return  "hello index"

@app.route(‘/test‘)
def  test():
	return  "hello test"	

if __name__ == "__main__":
        ##启动app,监听端口port
	app.run(host=‘0.0.0.0‘,port=888,debug=True)

结果如下:注意是监听路由出发后的处理函数返回值,在浏览器端显示

时间: 2024-11-19 04:09:47

从零开始学Python-day6的相关文章

学习《从零开始学Python网络爬虫》PDF+源代码+《精通Scrapy网络爬虫》PDF

学习网络爬虫,基于python3处理数据,推荐学习<从零开始学Python网络爬虫>和<精通Scrapy网络爬虫>. <从零开始学Python网络爬虫>是基于Python 3的图书,代码挺多,如果是想快速实现功能,这本书是一个蛮好的选择. <精通Scrapy网络爬虫>基于Python3,深入系统地介绍了Python流行框架Scrapy的相关技术及使用技巧. 学习参考: <从零开始学Python网络爬虫>PDF,279页,带目录,文字可复制: 配套

数据分析学习资料《利用Python进行数据分析第2版》+《Python数据分析与挖掘实战》+《从零开始学Python数据分析与挖掘》

数据分析涉及统计学.线性代数.图形分析绘制.数据挖掘等知识,推荐系统学习电子资料<利用Python进行数据分析第2版>.<Python数据分析与挖掘实战>.<从零开始学Python数据分析与挖掘>电子书和代码测试. <利用Python进行数据分析第2版>电子书代码,每一章之间有递进关系,适合在Python入门<Python编程从入门到实践>电子书之后阅读,本专门针对数据分析领域的.我细致地读了一遍,敲了一遍代码,一开始没有头绪,进展缓慢,后来逐渐

从零开始学Python程序设计(Python 3.5以上)中文pdf扫描版[172MB]高清下载

Python语言是面向对象的模块化设计语言,它易于学习.易于维护.可读性强,适合初学者作为入门程序设计语言. <从零开始学Python程序设计>以Python3.5版本作为教学版,针对初学者的特点,分为五篇内容进行全面讲解:第壹篇为基础入门篇(第1-3章),介绍Python语言的基本功能:第二篇为有序和无序篇(第4-6章),介绍控制台应用程序和窗口应用程序:第三篇为标准函数篇(第7和8章),介绍标准函数库的应用:第四篇为面向对象篇(第9-11章),介绍封装.继承和多态:第五篇为高级篇(第12-

从零开始学python

自从20世纪90年代初Python语言诞生至今,它已被广泛应用于系统管理任务的处理和Web编程.今天就来给大家看看学Python的五大优势吧! NO.1 全球三大主流编程语言之一 python是一种面向对象的解释型计算机程序设计语言,具有丰富和强大的库.它已经成为继Java.C++之后的第三大语言,相对于其他语言,它的特点是:简单易学.可移植.可扩展.可嵌入. 丰富的库.免费开源等, Python难度低于java,更适合初学编程者. NO.2 高效可靠的编程语言 我相信任何使用过 Python

从零开始学Python第八周:网络编程基础(socket)

Socket网络编程 一,Socket编程 (1)Socket方法介绍 Socket是网络编程的一个抽象概念.通常我们用一个Socket表示"打开了一个网络链接",而打开一个Socket需要知道目标计算机的IP地址和端口号,再指定协议类型即可. 套接字是一个双向的通信信道的端点.套接字可能在沟通过程,进程之间在同一台机器上,或在不同的计算机之间的进程 要创建一个套接字,必须使用Socket模块的socket.socket()方法 在socket模块中的一般语法: s = socket.

Python重要文献参考_摘自从零开始学Python

开发相关网站: stackoverflow.com --在这里可以提问,可以查看答案.一般如果有问题,先在这里查找,多能找到非常满意的结果,至少有很大启发:在某国有时候有些地方可能不能访问,需要科学上网.好东西,一定不会让你轻易得到,也不会让任何人都得到. Python 中的 staticmethod 和 classmethod 的差异(题名). 原载: http://pythoncentral.io/difference-between-staticmethod-and-classmethod

从零开始学Python第一周:Python基础(上)

Python语法基础(上) 一,Python的变量 (1)创建变量 变量的含义:存储信息的地方 创建变量并赋值 x = 1 print x x = 123 #再次赋值 print x (2)使用变量 x = 1 y = 2 z = 3 print x,y,x*y,z (3)变量的命名规则 由字母,数字,下划线组成 不能以数字开头 不能使用Python关键字 错误的变量命名举例: #name = 1 3k = 1 print = 1 英文字母大小写敏感,例如:m与M不同 m = 1 print M

从零开始学JAVA DAY6

再说继承: 继承是类与类之间的一种关系,对于一个参数,在继承之后,会在子类中隐藏自动的加上一个代码块super() 关键字:super 原本学了一个this关键字,在复习一下,this关键字是该类直接调用对象进行操作,而super也差不多,只是调用的是父类 为什么要有这样一个代码块super()/this()呢? 就是为了初始化父类的一些数,因为在子类中要调用这些函数或者值,那么先把它初始化成与父类相同,防止错误 那么自动加了这个初始化后,一创建子类,那么会先执行父类中的初始化函数 class

从零开始学Python数据分析

第1章 Python环境搭建与使用 1.1 Anaconda的安装和使用 1.1.1 Anaconda的安装 1.1.2 Anaconda的使用 1.包管理 2.环境管理 1.2 Jupyter Nottebook的使用 1.2.1 更改工作空间 1.2.2 界面介绍与 1 1 + 2 2 # 输出:3 1 for i in range(5): 2 print(i) 3 # 输出:0 4 1 5 2 6 3 7 4 原文地址:https://www.cnblogs.com/wssys/p/102

小白从零开始学编程--python安装与环境搭建

前言 从2020年3月份开始,计划写一系列文档--<小白从零开始学编程>,记录自己从0开始学习的一些东西. 第一个系列:python,计划从安装.环境搭建.基本语法.到利用Django和Flask两个当前最热的web框架完成一个小的项目 第二个系列:可能会选择Go语言,也可能会选择Vue.js.具体情况待定,拭目以待吧... python安装与配置 python2 在2020年初开始已经不再维护,所以学习只讨论python3 windows环境 下载python3安装包 到官方网站下载选择合适