day 09
day 09
一、函数
1、什么是函数:
             函数的使用必须遵循'先定义,后调用'的原则。
             定义:事先将函数体代码保存起来 ,然后将内存地址赋值给函数名,函数名就是这段代码用。
2、为什么要用函数:
             增加代码的可扩展性
             可以让程序变得清晰简洁 增加可读性
3、怎么使用函数:
             函数的使用必须遵循'先定义,后调用'的原则
             def 函数名(参数1,参数2.....):
             '''对函数的描述'''
             函数值
             return 值 
 def:定义函数的关键字;
 函数名:函数名指向函数的内存地址,是对函数代码的引用。函数的命名也应该见名知意。
 括号  :括号内可以定义参数,参数时可用可无的,且不需要指定函数类型。
 冒号  :括号要加上冒号,然后在下一行进行缩进编写函数体代码。
 可以在函数体的最上层用注释描述函数功能和参数介绍,增强函数可读性。
 函数体:编写的代码
 return值:定义函数的返回值,return也是可有可无的。
当函数里面有多个return时,只要执行一次return函数就会立马停止运行,并将return后的值当作本次的产品返回。
4、参数是函数的调用者向函数体传值的媒介。
   若函数体代码逻辑依赖外部传来的参数时则需要定义为参函数。
   若函数内部不需要外界传来的参数时,就不需要定义参数。
   案例 # 有参函数
          def hs(x,y):
            if x > y:
                print(x)
            else:
                print(y)
 5、pass命令:
    表示什么都不做,称之为空函数。
    在程序设计的开始,往往是先想好程序都需要完成什么功能,然后把所有功能都列举出来用pass充当函数     体“占位符”,这将使得程序的体系结构立见,清晰且可读性强。
    def hs():
    '''这是一个用于登录的函数'''
    pass     
 6、调用函数值与函数返回值
    函数的使用分为定义阶段和调用阶段,定义阶段时只检测语法,不执行代码。调用函数时需要在函数名后面加上(),只有在调用阶段时才会执行函数代码。
    #定义阶段
    def hs():
        print('hello world')
        hs1()
    def hs1():
        print('你好世界')
    #调用阶段
    hs()
    #执行结果
    'hello world'
    '你好世界'
  定义hs和hs1时均无语法错误,而在调用hs函数时,hs和hs1都已经被读入到内存中了,所以不会出现问题。
7,return的返回值语法:
   当函数里面有多个return时,只要执行一次return函数就会立马停止运行,并将return后的值当作本次的产品返回。
    函数的返回值有三种形式:
    当return的返回值只有1个时,返回的就是该值本身。
    当return的返回值有多个时,返回的值是小元组。
    当没有return或return无值时return=None,返回的值都是None。
二、模块
1、什么是模块:
   模块是一种功能的集合体
   模块分为四种通用类别:
            1,使用python编写的.py文件
            2,已被编译为共享库或DLL的C或C++的扩展
            3,把一系列模块组织到一个文件夹(注:文件夹下又一个_init_.py文件,该文件称之为包1)
            4,使用c编写连接到python解释器的内置模块
   模块的来源:
            1,python再带的模块/库(内置模块,标准库)
            2,第三方库
            3,自定义库
2、为什么要用模块:
            1,提升开发效率
            2,减少代码冗余
3、怎么使用模块 
            import            ## 指定模块位置进行调用
              from ... import  ## 可以直接把指定位置模块中的函数加载到当前环境中,直接使用。
示例1:
新建一个py文件(a.py)
import a
print(a.函数1)
print(a.函数2)
...
示例2:
from a import 函数1,函数2..
函数1()
4、time时间模块
import time
print(time.time()) #1970年到今天的时间秒数(时间戳)
print(time.strftime('%Y-%m-%d %H:%M:%S)')  #格式化的字符
print(time.localtime()) #结构化的时间
time.struct_time(tm_year=2021, tm_mon=6, tm_mday=9, tm_hour=18, tm_min=12,       tm_sec=49, tm_wday=2, tm_yday=160, tm_isdst=0)
      
5、random生成随机数模块
import random
random.randint():在指定范围随机取值模块
random.randrange():在指定范围按顺序取值
random.choice([]):随机取列表值模块
   
6、储备知识
      A-Z对应的数字(65,90)
      a-z对应的数字(97-122)
      print(chr(65))  ## A
      print(chr(90))  ## Z
     print(ord('A'))  ## 65
     print(ord('Z'))  ## 90
      
案例1:
      #随机生成验证码
import random
def make_code(size):
      res=''
      for i in range(size):
        num = str(random.randint(0,9))
        s = chr(random.randint(65,90))
        res += random.choice([num,s])
      return res
print(make_code(6))
      
                    
                
                
            
        
浙公网安备 33010602011771号