Day5:python之函式(3)
阿新 • • 發佈:2018-12-08
一、函式預設值引數
內建函式:
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)