python自動化第五次課

來源:互聯網
上載者:User

標籤:rgs   truncate   sam   type   shuffle   xxx   ace   數組   rand   

首先講函數、

1.內建函數
python內建的一些函數,直接拿過來能用的
id() #看記憶體位址
type() #看資料類型
print() #列印
input() #輸入
list() #轉list
set()# 轉集合
str()#轉字串
dict()#轉字典
int()#轉int
float()#轉float類型
len()#取長度
max()
min()
dir() #協助你的
sorted()#排序
round(11.00011,2)#保留幾位小數
2.自己定義的函數:
def say(): #函數名    print(‘hello‘)#函數體

注意:函數不調用是不會被執行的

say()#調用就可以了

關於函數的參數:必填參數和預設值參數,預設值參數可以不填

 1 def calc(a,b):  #形參, 形式參數 2     #位置參數,必填參數 3     res = a * b 4     print(‘%s * %s = %s‘%(a,b,res)) 5  6 # calc(7,8)  #實參,實際參數 7 def op_file(file_name,conent=None): 8     #預設值參數,它是非必填的 9     f = open(file_name,‘a+‘,encoding=‘utf-8‘)10     f.seek(0)11     if conent:#不為空白代表寫12         f.write(conent)13         f.flush()14     else:15         all_users = f.read()16         return all_users  #調用完函數之後,返回什麼結果17     f.close()18 # res = op_file(‘a.txt‘)19 # print(res)20 def haha():21     #函數裡面遇到return函數就立即結束了22     for i in range(5):23         print(i)24         if i==3:25             return  #唯寫一個return的話,就返回None26 # res = haha()27 # print(res)
參數講解
 1 def is_float(s): 2     s = str(s) 3     if s.count(‘.‘)==1:#小數點個數 4         s_list = s.split(‘.‘) 5         left = s_list[0]  #小數點左邊 6         right = s_list[1] #小數點右邊 7         if left.isdigit() and right.isdigit():  #正小數 8             return True 9         elif left.startswith(‘-‘) and left.count(‘-‘)==1 and 10                 left.split(‘-‘)[1].isdigit() and 11                 right.isdigit():  #判斷合法負小數12                 return True13     return False
例子:判斷是否是合法小數的函數

關於函數的不固定參數:參數組和關鍵字參數

def syz(a,*args):  #參數組 *arg為非必填參數,不限制參數個數    print(a)    username = args[0]    pwd = args[1]    age = args[2]# syz(‘niuhanyang‘,‘2423‘,2323)# syz(‘1s‘,‘sdf‘)def syz2(time,**kwargs):  #關鍵字參數,為非必填參數,不限制參數個數    print(kwargs)syz2(‘sdf‘)  #{}syz2(name=‘nhy‘,age=38,time=‘20180912‘)syz2(‘2018‘,name=‘nhy‘,age=38,addr=‘回龍觀‘,home=‘河南‘)syz2(time=‘xx‘,xx=‘xxx‘)
不固定參數

關於遞迴,也就是函數自己調用自己

def test1():    num = int(input(‘please enter a number:‘))    if num%2==0:#判斷輸入的數字是不是偶數       return True #如果是偶數的話,程式就退出了,返回true    print(‘不是偶數請重新輸入!‘)    return test1()#如果不是偶數的話繼續調用自己,輸入值# print(test1())#調用test#少用遞迴,遞迴最多遞迴999,遞迴的效率不高。
遞迴舉例

第二點 變數,常量

變數分局部變數和全域變數,

局部變數:只在函數內有效,出了函數無效

全域變數:一旦被修改,會影響整個代碼,所以不安全,如果要修改全域變數,需要先聲明下你要修改的是全域變數

常量就是一個不變的值

name = ‘謝紅‘#全域變數#如果要改全域變數的話,那你要先聲明一下,你修改值是全域變數def sayName():    global name    name = ‘劉偉‘    print(‘name1‘,name)

模組:

random 模組 json 模組 引入後使用

import random,json,string

random,string

1 import random,string2 # print(string.printable) #代表 數字+字母+特殊字元3 # print(random.randint(1,10)) #隨機取整數4 # print(round(random.uniform(1,99),2))#隨機小數5 # print(random.choice([1,2,3,4])) #只能隨機取1個元素6 # print(random.sample(string.printable,5)) #隨機取N個元素,返回的是list
1 pickts = [‘A‘,‘J‘,‘Q‘,‘K‘,2,3,4,5,6]2 random.shuffle(pickts) #只能傳list3 print(pickts)
舉例:洗牌

json模組

引入json模組

import json
import json#json串是一個字串f = open(‘product.json‘,encoding=‘utf-8‘)# res = f.read()# product_dic = json.loads(res)  #把json串,變成python的資料類型# print(json.load(f)) #傳一個檔案對象,它會幫你讀檔案d =  {    ‘zll‘:{        ‘addr‘:‘北京‘,        ‘age‘:28    },    ‘ljj‘:{        ‘addr‘:‘北京‘,        ‘age‘:38    }}fw = open(‘user_info.json‘,‘w‘,encoding=‘utf-8‘)# dic_json = json.dumps(d,ensure_ascii=False,indent=4)  #字典轉成json,字典轉成字串# fw.write(dic_json)json.dump(d,fw,ensure_ascii=False,indent=10)  #操作檔案

關於修改檔案

方法一、

1、開啟一個檔案,擷取到他的所有內容
2、對內容進行修改
3、清空原來檔案的內容
4、把新的內容寫進去
f = open(‘username‘,‘a+‘)f.seek(0)all_str = ‘‘for s in f:    new_s =‘syz_‘+s    all_str=all_str+new_sf.seek(0)f.truncate() #清空檔案內容f.write(all_str)f.close()

方法二、

1.開啟2個檔案
2.a檔案
3.寫一行寫到b檔案
4.a.txt a.txt.bak
5.刪掉a檔案,b檔案名稱字改成a檔案名稱 引入OS
import oswith open(‘words‘,encoding=‘utf-8‘) as fr,open(‘.words.bak‘,‘w‘,encoding=‘utf-8‘) as fw:    for line in fr:        new_line = line.replace(‘花‘,‘flower‘)        fw.write(new_line)os.remove(‘words‘) #刪除檔案os.rename(‘.words.bak‘,‘words‘) #改名

 

 



python自動化第五次課

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.