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))
     


 

posted @ 2021-06-09 18:57  c-j-z  阅读(174)  评论(0)    收藏  举报