1. 程式人生 > >Day5:python之函式(3)

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)