Day5:python之函数(3)
一、函数默认值参数
内置函数:
input()、print()、int()
常用模块:
1、列表生成式
s =[1,2,3,4,5,6,7,8] for i in s: print(i+1) res = [ i+1 for i in s] res = [str(i) for i in s] print(res)
2、关键词参数,非必传
# def mysql (**mysql_info): # print(mysql_info) # def request(url,method,**kwargs): # 两个星号 把关键字的参数都放到这个字典里 # print(url)
3、函数参数
练习:
需求:判断是不是合法的小数,是合法的return true
需求分析:
1、判断小数点个数是否为1
2、按照小数点分隔,取到小数点左边和右边的值
3、判断正小数,小数点左边为整数,小数点右边为整数
4、判断负小数,小数点左边以负号开头,并且只有一个负号,负号后面
为整数,小数点右边为整数
def is_float(s): print(s) s=str(s) if s.count('.')==1: left,right = s.split('.') if left.isdigit() and right.isdigit(): print('正小数') return True elif left.startswith('-') and left.count('-')==1 and \ left[1:].isdigit() and right.isdigit(): print('负') return True print('不合法') return False
4、全局变量、深拷贝
# #定义的全局变量是 list、字典、集合, 可以不用声明global,就可以用 # #如果是字符串、元组、float、 # name='小明' # stus = [] # def a(): # global name #改全局变量的话,要修改的话改外面的name,尽量少用 # name='hhh' # stus.append('a,b,c') # # print(name) # def b(): # print(name) # print('b的值',stus) # age = 18 # print(name) # a() # b()
# num = [1,1,2,3,4,5,6,7,8,9] # num2= [1,1,2,3,4,5,6,7,8,9] # num2 = num #浅拷贝,两个变量指向的同一块内存地址 # num2 = copy.deepcopy(num) #深拷贝,新开辟一个内存,两块不同的内存
5、json模块
import json #解析json的 # json_str = ''' # {"name":"xiaohei","age":18,"sex":"男","age":18} # ''' # res = json.loads(json_str) #把字符串(json串)转成字典 # print(res) # print(type(json_str)) # print(type(res)) dic = { "xiaohei":{ "age":18, "password":12345, "sex":"男", "addr":"北京" }, "马春波":{ "age":18, "password":12345, "sex":"男", "addr":"北京" }, "王东泽":{ "age":18, "password":12345, "sex":"男", "addr":"北京" }
# res = json.dumps(dic,ensure_ascii=False,indent=4)#把字典变成字符串 # print(res) # f = open('user.json','w',encoding='utf-8') # f.write(res) #load 自己读 # f = open('user.json',encoding='utf-8') # res = json.loads(f.read()) # print(res) # res = json.load(f) # print(res) #dump 自己写的 fw = open('newuser.json','w') json.dump(dic,fw,indent=4,ensure_ascii=False)
6、os模块
import os res = os.listdir('/Users/nhy/Desktop') #列出某个目录下的所有文件 # os.remove() # os.rename() # os.mkdir(r'test/niuhy/haha')#创建文件夹 # os.makedirs(r'test1/lyl/aaa')#会创建父目录 # res = os.path.exists(r'/Users/nhy/Desktop/stu.txt') # os.path.isfile() #判断是否为文件 # os.path.isdir()#判断是否为文件 # res = os.path.split(r'/Users/nhy/Desktop/stu.txt') # res = os.path.dirname(r'/Users/nhy/Desktop/stu.txt')#取父目录 # res = os.getcwd() #获取当前的目录 # os.chdir(r'/Users/nhy/Desktop/')#更改当前目录 # res = os.getcwd() # print(res) # open('a.txt','w') # print(os.environ)#看你电脑的环境变量 # # res = os.path.join('test','hhh','abc','a.txt')#拼接路径 # print(res) # res= os.path.abspath('..')#根据相对路径取绝对路径 # print(res)