#函数 方法 功能
#说白了函数就是把一堆代码组合到一起,变成一个整体
#提高代码复用性
#函数不调用不会被执行
#全局变量、局部变量

# def hello (file_name,content=''):#形参,形式参数
#     f = open(file_name,'a+',encoding='utf-8')
#     if content:
#         f.write(content)
#     else:
#         f.seek(0)
#         res = f.read()
#         return res
#     f.close()
#
# print(hello('flynn'))#实参,实际参数

#形参
#实参
#位置参数,必填参数
#默认值参数,不是必填

#返回值
#如果想获取到函数的结果,那么必须return
#如果函数没写return的话,返回值是None;return不是写的,# 需要获取到函数的返回结果再写
#return会立即结束函数

a = 100
def test():
    global a
    a = 5
    print('里面的',a)

test()
print('外面的',a)
#一个python文件就是一个模块
#1.标准模块
    #python 自带的,不需要你安装的
#2.第三方模块
    #需要安装的,别人提供的
    #pip install redis 自动化安装的
    # 手动安装:1.下载安装包,解压
              #2.cmd进到文件路径下, python setup.py install
#3.自己写的
#自己写的python文件

# import check
# print(check.check_float('53.asd'))
#import xx 导入一个文件, 导入文件的实质是什么,把这个python运行一次
# import hahaha
#import 在导入文件的时候,首先从当前目录下找这个文件,
#然后从python的环境变量里面找
#就是让一个命令,不管在哪个目录下都可以执行

import sys
print(sys.path)
#import hahaha


# import check
# print(check.check_float('1.5'))

# day4总结:
# 文件修改
# 1.简单粗暴
# 2.一行行的 2个文件
# 集合,天生去重
# 函数
# 提高代码复用性
# 定义函数
# 位置参数(必填参数),默认值参数(非必填的)
# 函数的返回值
#局部变量和全局变量
#def s(a,b):pass
#s(1,2) s(b=1,a=2)

#模块
#导入模块的实战
#找的模块时候 顺序




1.函数
def func(a,b =None,*args,**kwargs):
    name = 'ybq'
    return name
    global name
提高代码复用性,减少重复的代码。
2.修改文件
  1.第一种 简单粗暴的:先把所有的内容读出来,再把文件内容清空,再把新的内容写进去
  2.第二种  两个文件:
           循环第一个文件,逐行处理,处理完一行写到新文件里面。
           f1 = open(f1)
           f2 = open(f2)
           for line in f:
               new_line = line.replace('xxx','xx')
               f2.write(new_line)
               删除掉旧的文件,新的文件改名。
3.集合
天生去重
t = set()
t = {'',''}
4.模块
1.标准模块
2.第三方模块
 pip install xxx
 下载安装包 解压 python setup.py install
3.自己写的模块,也就是一个python文件

import 一个模块的实质
    把这个python文件从头到尾运行一次
import 模块寻找模块的路径:
    1.先从当前目录下找
    2.再从环境变量里面找。

1.写代码的时候少用全局变量
   1.不安全
   2.会一直占着内存,不会释放

2.函数如果有多个return值,那么会把这几个return的值都放到一个元组里面,然后返回
3.列表推导式
4.一个函数尽量只实现一个功能
5.实现同样的功能,代码越少越牛逼。
6.常量就是一个不会变的变量
# res = hello('ybq','mpp','zhx','zds')
# print(res)
# nums = [0,1,2,3,4,5,6,7]
# # new_nums = []
# # for n in nums:
# #     n =str(n)
# #     new_nums.append(n)
# new_nums = [str(x) for x in nums]#列表推导式
# print(new_nums)

a = 2
b = 1
# b,a = a,b #交换两个变量的值
# print(a,b)

a = a+b #3
b = a-b #3 -1=2
a = a-b #3 -2=1