天天看点

章节3 Python中函数与模块

课时11 函数的定义

格式:

       def func_name:

              function

       i.e.  def add(a,b):

                     return a+b

函数名称不能使用系统内置的关键字。

代码

def add(a,b):

       return a+b

print add(1,2)

课时12 形式参数与实际参数的介绍

a和b是函数的形式参数

函数的调用方法:func(parama)

课时13 函数的默认参数

Null None的区别

null是指什么都没有,none是指有占位符。

默认参数与实际参数都有,按实际参数来。

课时14 形式参数与默认参数的混合应用

当混用时,def定义时,必须形式参数在前,默认参数在后。

这样,调用的时候可以只填形参代表的参数。

课时15 函数的返回值应用

为什么函数定义时,用return。

ui:元素的定位

api: token,session的获取

cookie session token区别

cookie一个非常具体的东西,指的就是浏览器里面能永久存储的一种数据,仅仅是浏览器实现的一种数据存储功能。

session服务器给每个客户端分配不同的“身份标识”,然后客户端每次向服务器发请求的时候,都带上这个“身份标识”,服务器就知道这个请求来自于谁了。至于客户端怎么保存这个“身份标识”,可以有很多种方式,对于浏览器客户端,大家都默认采用 cookie 的方式。session存放服务器。

token:基于Token的身份验证的过程如下:

1.用户通过用户名和密码发送请求。

2.程序验证。

3.程序返回一个签名的token 给客户端。

4.客户端储存token,并且每次用于每次发送请求。

5.服务端验证token并返回数据。

服务器不保存session id 了, 我只是生成token , 然后验证token ,  我用我的CPU计算时间获取了我的session 存储空间 !

代码

def function1():

   return 'result'

def function(x):

   if x=='result1':

      print 'ok'

   else:

      print 'not ok'

function(function1())

课时16 函数实战(注册功能的实现)

写一个注册功能

def registere():

   '''注册功能,根据用户输入的用户名、密码,自动保存到指定的文本中'''

   username = raw_input('请输入您想要注册的用户名')

   password = raw_input('请输入您的密码')

   temp = username + '|'+ password

   with open('info.txt','w') as f:

      f.write(temp)

registere()

写登录功能

def login():

   '''

   用户登录系统

   :return: True 登录成功 False 登录失败

   '''

   f = open('info.txt','r')

   list = f.read().split('|')

   print list,'username:'+list[0],'password:'+list[1]

login()

print里面+号以及逗号不同之处,逗号在输出的时候是个空格,+号没空格。

课时17 函数实战(登录功能的实现)

def login():

   '''

   用户登录系统

   :return: True 登录成功 False 登录失败

   '''

   f = open('info.txt','r')

   list = f.read().split('|')

   username = raw_input(u"请输入您的用户名")

   password = raw_input(u"请输入您的密码")

   if username==list[0] and password==list[1]:

      print 'login pass'

      return True

   else:

      print 'login fail'

      return False

课时18 函数实战(获取用户信息)

def getLoginInfo():

   '''得到用户登录成功的返回信息'''

   f = open('info.txt', 'r')

   list = f.read().split('|')

   if login():

      print u'恭喜{0}登录成功,欢迎回来'.format(list[0])

   else:

      print False

getLoginInfo()

课时19 函数实战(主程序的实现)

def registere():

   '''注册功能,根据用户输入的用户名、密码,自动保存到指定的文本中'''

   username = raw_input('请输入您想要注册的用户名')

   password = raw_input('请输入您的密码')

   temp = username + '|'+ password

   with open('info.txt','w') as f:

      f.write(temp)

def login():

   '''

   用户登录系统

   :return: True 登录成功 False 登录失败

   '''

   username = raw_input(u"请输入您的用户名")

   password = raw_input(u"请输入您的密码")

   if username==list[0] and password==list[1]:

      return True

   else:

      return False

def getLoginInfo():

   '''得到用户登录成功的返回信息'''

   print u'恭喜{0}登录成功,欢迎回来'.format(list[0])

def system():

   '''主函数'''

   while True:

      choice = int(raw_input('请选择,1、注册 2、登录 3、退出此系统'))

      if choice==1:

         registere()

      elif choice==2:

         resultOfLogin = login()

         if resultOfLogin:

            getLoginInfo()

      elif choice==3:

         print 'fail'

         exit()

      else:

         break

if __name__ == '__main__':

    system()

课时20 函数实现代码优化

全部代码

def readfile():

   '''读取文本中的用户名以及密码,返回一个list列表'''

   fileread = open('info.txt','r')

   list = fileread.read().split('|')

   return list

def registere(username,password):

   '''注册功能,根据用户输入的用户名、密码,自动保存到指定的文本中'''

   temp = username + '|'+ password

   with open('info.txt','w') as f:

      f.write(temp)

def login(username,password):

   '''

   用户登录系统

   :return: True 登录成功 False 登录失败

   '''

   list = readfile()

   if username==list[0] and password==list[1]:

      return True

   else:

      return False

def name():

   username = raw_input('请输入您的用户名')

   return username

def pw():

   password = raw_input('请输入您的密码')

   return password

def getLoginInfo():

   '''得到用户登录成功的返回信息'''

   list = readfile()

   print u'恭喜{0}登录成功,欢迎回来'.format(list[0])

def system():

   '''主函数'''

   while True:

      choice = int(raw_input('请选择,1、注册 2、登录 3、退出此系统'))

      if choice==1:

         registere(name(),pw())

      elif choice==2:

         resultOfLogin = login(name(),pw())

         if resultOfLogin:

            getLoginInfo()

         else:

            print 'login fail'

      elif choice==3:

         print 'exit'

         exit()

      else:

         break

if __name__ == '__main__':

    system()

课时21 认识模块与包

什么是模块,模块就是一个py文件,一个Python文件就是一个模块。

模块里面有什么?

a. 类 b. 函数 c. 变量

包与模块之间的关系:1对多的关系

Project与包之间关系: 1对多的关系

包与文件夹的区别是:

1、包下面必须有__init__.py

2、文件夹下什么都没有

课时22 模块与模块之间的调用

两种方式

1、import 调用的模块

2、from 模块 import * (或者具体的)

调用函数并使用模块中的函数

import login

login.system()

但是上面这个方面使用函数的时候需要加上login.system()

使用第2中方式,就直接可以使用system()

课时23 包中模块之间的调用

两种方式

1、import 包.模块

2、from 包.模块 import 函数

一般也是推荐第2种方式

注意事项:假如有文件是在原来包独有的,那么引用后会出现报错。

继续阅读