设为首页 收藏本站
查看: 2338|回复: 0

[经验分享] 从零开始学Python-day6

[复制链接]

尚未签到

发表于 2018-8-16 08:45:59 | 显示全部楼层 |阅读模式
  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 "导入的函数"
  ##自己开发的模块示例:
##自己编写的模块  

  
[root@xiaowei code]# pwd
  
/usr/local/src/newbie/05/code
  
##文件编写的模块内容
  
[root@xiaowei 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 会把模块里的代码执行一遍
  #示例代码
[root@xiaowei code]# python run.py  
Welcome Module Hello
  
hello world
  
None
  
[root@xiaowei code]# cat hello.py
  
def hello_world():
  print "hello world"
  
print "Welcome Module Hello"
  
[root@xiaowei code]# cat run.py
  
import hello
  
print hello.hello_world()
  
[root@xiaowei code]#
  
[root@xiaowei 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 的内容  
[root@xiaowei code]# cat run.py
  
import hello
  
print hello.hello_world()
  

  
##hello.py的内容
  
[root@xiaowei code]# cat hello.py
  
def hello_world():
  print "hello world"
  
if __name__ == '__main__':  #
  

  
单选框
  

  

  

  

  

  
多选框
  

  
吃饭
  
睡觉
  

  

  

  
##时间和颜色
  

  

  

  

  

  执行的结果图:
  1.form结果图
DSC0000.png

  2.单选多选框结果图
DSC0001.png

  3. 时间颜色结果图
DSC0002.png

  5.3 其他常用标签
  一段话  :一段话
   换行  ,也没有闭合标签
   一个横线
   锚点,超链接。 锚点的href属性是跳转
     图片标签,src属性是图片的地址
    按钮
      盒子,没有默认样式
    默认的行内模式
  HTML代码练习:
  

  
按钮
  
tes图 p 标签
  

  

  

  

  

  

  
登录
  

  执行结果图如下:
DSC0003.png

  5.4 form标签结合flask实现前端提交注册用户名密码
  实现注册的代码:要求,通过/的index主页访问,在name和password框中输入用户名密码,点击add提交按钮直接写入到users.txt文件中,而后跳转到/web4页面列举出所有的用户名密码。
[root@xiaowei web_module]# cat web2.py  
#/usr/bin/python
  
#coding:utf-8
  

  

  
###第二个web程序,练习form标签,熟悉前端向后端提交数据的流程
  

  
from flask import Flask,render_template,redirect,request
  

  
app = Flask(__name__)
  

  
@app.route('/')
  
def index():
  return render_template('form.html')
  

  
@app.route('/adduser')
  
def adduser():
  name = request.args.get('name','')
  passw = request.args.get('password','')
  with open('users.txt','a+') as files:
  files.write('%s:%s\n' %(name,passw))
  return redirect("/web4")
  

  
@app.route('/web4')
  
def web4():
  
       # tmp =  request.args.get('word','web3')
  
       # age =  request.args.get('age',14)
  
        #arr = [{'name':'one','age':14},{'name':'two','age':32},{'name':'three','age':9}]
  
        f = open('users.txt')
  
        arr = [ line.split(":")  for line in f.read().split('\n') ]
  
        print arr
  
       # return render_template('web3_2.html',word = tmp,age = age ,arr = arr)
  
        return render_template('web3_2.html',arr = arr)
  

  
if __name__ == "__main__":
  app.run(host='0.0.0.0',port=888,debug=True)
  执行流程及结果:
DSC0004.png




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-552442-1-1.html 上篇帖子: notepadd++运行python 下篇帖子: python备份脚本
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表