python學習day16 內建函式二

2022-09-13 23:45:22 字數 3437 閱讀 7498

#

資料型別:int bool float等等

#資料結構:dict tuple list set str

#內建函式

#l =[1,2,3,4,5]

#l.reverse()

#print(l)

#l = [1,2,3,4,5]

#l2 = reversed(l) #保留原列表,返回乙個反向的迭代器

#print(l2)

#l = [1,2,3,4,5,6,7,8,9]

#sli = slice(1,5,2)

#print(l[sli]) #切片函式

#print(format('text','<20')) #左對齊

#print(format('text','>20')) #右對齊

#print(format('text','^20')) #居中

#bytes--轉換成bytes型別

#拿到的是gbk編碼,想轉化成utf-8編碼

#運用範圍:

#網路程式設計##

html爬取到的內容

#print(bytes('你好',encoding='gbk')) #unicode轉換成gbk的bytes

#print(bytes('你好',encoding='utf-8')) #unicode轉換成utf-8的bytes

#b_array = bytearray('你好',encoding='utf-8')

#print(b_array) #轉換成位元組型別的陣列

#print(b_array[0])

#print(ord('好')) #返回ascii或unicode值

#print(ord('a'))

#print(ascii('a'))

#print(ascii('豪'))

#name = 'egg'

#print('你好%r'%name)

#print(repr('dfasfd'))

#print(all(['a',1,45,6,67,0])) #判斷是否全部為true

#print(any(['a',1,45,6,67,0])) #判斷是否有乙個為true

#zip()拉鍊方法

#l=[1,2,3,4,5]

#l2=['a','b','c']

#l3=['*','**','&&']

#l4=

#ret = zip(l,l2,l3,l4)

#print(ret) #返回乙個迭代器

#for i in ret:

#print(i) #返回的是乙個元組

#filter(function, iterable)過濾函式

#def is_odd(x):

#return x%2 == 1

#ret = filter(is_odd,[1,2,3,4,5,6]) #返回迭代器

#for i in ret:

#print(i)

#其實就是列表解析[i for i in [1,2,3,4,5,6] if i%2 == 1]

#def is_srt(s):

#return s and str(s).strip()

#ret = filter(is_srt,[1,2,3,4,5,' ','python'])

#for i in ret:

#print(i)

#l = [1,2,3,4,-43,-5]

#l.sort(key=abs)

#print(l)#在原有的列表上排序,並可指定排序方式

#l = [1,2,3,4,-43,-5]

#print(sorted(l,key=abs,reverse=true)) #生成乙個新列表,不改變原有列表但是會佔記憶體

#print(l)

#小練習:用列表按照每個元素的長度排序

#l = ['dsfds','sdafsdfas','sd']

#new_l = sorted(l,key=len,reverse=true)

#print(new_l)

#匿名函式--只能寫在一行

#def add(x,y):

#return x+y

#add=lambda x,y:x+y

#print(add(99,1))

#按照value值進行排序

#dic =

#def func(key):

#return dic[key]

#print(max(dic,key=func))錯誤

#print(max(dic,key=lambda key:dic[key]))

#ret = map(abs,[-1,-4,4,35])

#for i in ret:

#print(i)

#def func(x):

#return x**2

#ret = map(func,[-1,-4,4,35])

#for i in ret:

#print(i)

#就等於

#ret = map(lambda x:x**2,[-1,-4,4,35])

#for i in ret:

#print(i)

#篩選大於10的數

#res = filter(lambda x:x>10,[23,4,45,65,7,67])

#for i in res:

#print(i)

#與lambda連用的內建函式--filter、map、sorted,min,max

#面試提練習

#1.下面程式的輸出結果是:

#d = lambda p: p * 2

#t = lambda p: p * 3

#x = 2

#x = d(x) #x=4

#x = t(x) #x=12

#x = d(x) #x=24

#print(x)

#2.現有兩元組(('a'),('b')),(('c'),('d')),請使用python中匿名函式生成列表[,]

#ret = zip((('a'),('b')),(('c'),('d')))

#print(list(map(lambda tup:,ret)))

#3.以下**的輸出是什麼?請給出答案並解釋。

#def multipliers():

#return [lambda x:i*x for i in range(4)]

#print([m(2) for m in multipliers()])

## 請修改multipliers的定義來產生期望的結果。

#def multipliers():

#return (lambda x:i*x for i in range(4))

#print([m(2) for m in multipliers()])

Python學習筆記 Day16

今日大綱 一 物件導向的組合 組合 給乙個類的物件封裝乙個屬性,這個屬性就是另乙個類的物件 組合的意義 讓乙個類的物件和另乙個類的物件產生關係,讓乙個類和另乙個類產生關係 如何組合 1 在類1中定義乙個方法,類1的物件1在執行這個方法的時候能增加乙個屬性,屬性值就是類2的物件2 2 物件1執行這個方...

day16 學習總結

今天學習了可變引數和遞迴。老師還留了一道練習題,寫乙個計算器出來,嘗試琢磨了許久,還是沒有做出來。這也是我基礎薄弱的緣故,明天繼續研究。加油加油!下面是知識點 package com.liangwenwei.方法 public class 可變引數 public void test int x,in...

python 基礎 day16模組

模組就是 python 程式。換句話說,任何 python 程式都可以作為模組,包括在前面章節中寫的所有 python 程式,都可以作為模組。的可重用性體現在,當編寫好乙個模組後,只要程式設計過程中需要用到該模組中的某個功能 由變數 函式 類實現 無需做重複性的編寫工作,直接在程式中匯入該模組即可使...