真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python的函數(shù)講解 python函數(shù)菜鳥(niǎo)教程

python中eval函數(shù)的用法詳解

可以把list,tuple,dict和string相互轉(zhuǎn)化。

成都創(chuàng)新互聯(lián)公司專注于峨邊彝族企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),商城開(kāi)發(fā)。峨邊彝族網(wǎng)站建設(shè)公司,為峨邊彝族等地區(qū)提供建站服務(wù)。全流程按需規(guī)劃網(wǎng)站,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)

1、字符串轉(zhuǎn)換成列表

a = "[[1,2], [3,4], [5,6], [7,8], [9,0]]"

type(a)

b = eval(a)

print b[[1, 2], [3, 4], [5, 6], [7, 8], [9, 0]]

type(b)

2、字符串轉(zhuǎn)換成字典

a = "{1: 'a', 2: 'b'}"

type(a)

b = eval(a)

print b{1: 'a', 2: 'b'}

type(b)

3、字符串轉(zhuǎn)換成元組

a = "([1,2], [3,4], [5,6], [7,8], (9,0))"

type(a)

b = eval(a)

print b([1, 2], [3, 4], [5, 6], [7, 8], (9, 0))

type(b)

4、eval()函數(shù)傳進(jìn)去的參數(shù)必須是字符串或者是對(duì)象

示例1:

a=10;

print(eval("a+1"))

執(zhí)行結(jié)果: 11

示例2:

a=10;

g={'a':4}

print(eval("a+1",g))

執(zhí)行結(jié)果:5

示例3:

a=10

b=20

c=30

g={'a':6,'b':8}

t={'b':100,'c':10}

print(eval('a+b+c',g,t))

執(zhí)行結(jié)果:116? (a=6, b=100, c=10)

5、eval函數(shù),eval去除引號(hào)后會(huì)檢查到它是不是可計(jì)算的,如果可計(jì)算會(huì)將計(jì)算的結(jié)果打印出來(lái),如果不可計(jì)算直接返回結(jié)果

示例1:不可計(jì)算》》》直接輸出結(jié)果

s='["a","b","c"]'

print(eval(s))

執(zhí)行結(jié)果:?['a', 'b', 'c']

示例2:表達(dá)式可計(jì)算》》》計(jì)算之后輸出結(jié)果

s='abs(-10)'??

print(eval(s))

輸出結(jié)果:10?

5、eval()函數(shù),功能是將string變成算術(shù)表達(dá)式來(lái)執(zhí)行

示例1:

eval("1+2")

執(zhí)行結(jié)果: 3

示例2:

eval("print(\"hello, world\")")

輸出結(jié)果:hello, world

Python內(nèi)置turtle海龜庫(kù)函數(shù)講解1

1、返回原點(diǎn)

home()

無(wú)參數(shù),直接調(diào)用

2、畫(huà)圓

circle(radius,extent,steps)

參數(shù):radius 指定圓的半徑,extent 繪制圓弧的夾角,steps 多邊形變數(shù)不給默認(rèn)值

3、畫(huà)點(diǎn)

dot(size,color)

參數(shù):size繪制點(diǎn)的直徑值,color點(diǎn)的色彩

4、印章

stamp()

無(wú)參數(shù)

5、清除印章

clearstamp(stampid)清楚印章

clearstamps(n=None) 清楚多個(gè)印章

參數(shù):stampid是調(diào)用stamp函數(shù)返回的ID值,n為None則刪除全部印章,如果n0則刪除前n個(gè)印章,n

「python」 三個(gè)方面講解函數(shù)的缺省參數(shù)

所謂缺省參數(shù),在定義函數(shù)時(shí),可以給某個(gè)參數(shù)指定一個(gè)默認(rèn)值,具有默認(rèn)值的參數(shù)就叫做缺省參數(shù)。調(diào)用函數(shù)時(shí),如果沒(méi)有傳入缺省參數(shù)的值,則在函數(shù)內(nèi)部使用定義函數(shù)時(shí)指定的參數(shù)默認(rèn)值。

缺省參數(shù)的作用:

函數(shù)的缺省參數(shù),將常見(jiàn)的值設(shè)置為參數(shù)的缺省值,從而簡(jiǎn)化函數(shù)的調(diào)用。

例如:對(duì)列表排序的方法

執(zhí)行結(jié)果:

在參數(shù)后使用賦值語(yǔ)句,可以指定參數(shù)的缺省值。

不設(shè)置缺省參數(shù):

執(zhí)行結(jié)果:張三 是 男生

# 假設(shè)班上的男生比女生多,我們不傳遞True這個(gè)參數(shù),讓性別默認(rèn)是男生

設(shè)置缺省參數(shù):

執(zhí)行結(jié)果:

提示:

1. 缺省參數(shù),需要使用最常見(jiàn)的值作為默認(rèn)值。

2. 如果一個(gè)參數(shù)的值不能確定,則不應(yīng)該設(shè)置默認(rèn)值,具體的數(shù)值在調(diào)用函數(shù)時(shí),由外界傳遞。

一句話講在定義函數(shù)時(shí)怎樣指定函數(shù)的缺省參數(shù)的默認(rèn)值,在形參后面跟上一個(gè)等號(hào),等號(hào)后面跟上參數(shù)的默認(rèn)值就可以了??梢钥匆陨习咐?/p>

必須保證帶有默認(rèn)值的缺省參數(shù)在參數(shù)列表末尾。

所以,以下定義是錯(cuò)的:

PyCharm在錯(cuò)誤的參數(shù)下面會(huì)有一個(gè)波浪線提示,告訴你要么給它挪到缺省參數(shù)前面,要么它也變成帶有默認(rèn)值的缺省參數(shù)。

在調(diào)用函數(shù)時(shí),如果有多個(gè)缺省參數(shù),需要指定參數(shù)名,這樣解釋器才能能夠知道參數(shù)的對(duì)應(yīng)關(guān)系。

執(zhí)行結(jié)果:

Python中冷門(mén)但非常好用的內(nèi)置函數(shù)

Python中有許多內(nèi)置函數(shù),不像print、len那么廣為人知,但它們的功能卻異常強(qiáng)大,用好了可以大大提高代碼效率,同時(shí)提升代碼的簡(jiǎn)潔度,增強(qiáng)可閱讀性

Counter

collections在python官方文檔中的解釋是High-performance container datatypes,直接的中文翻譯解釋高性能容量數(shù)據(jù)類(lèi)型。這個(gè)模塊實(shí)現(xiàn)了特定目標(biāo)的容器,以提供Python標(biāo)準(zhǔn)內(nèi)建容器 dict , list , set , 和 tuple 的替代選擇。在python3.10.1中它總共包含以下幾種數(shù)據(jù)類(lèi)型:

容器名簡(jiǎn)介

namedtuple() 創(chuàng)建命名元組子類(lèi)的工廠函數(shù)

deque 類(lèi)似列表(list)的容器,實(shí)現(xiàn)了在兩端快速添加(append)和彈出(pop)

ChainMap 類(lèi)似字典(dict)的容器類(lèi),將多個(gè)映射集合到一個(gè)視圖里面

Counter 字典的子類(lèi),提供了可哈希對(duì)象的計(jì)數(shù)功能

OrderedDict 字典的子類(lèi),保存了他們被添加的順序

defaultdict 字典的子類(lèi),提供了一個(gè)工廠函數(shù),為字典查詢提供一個(gè)默認(rèn)值

UserDict 封裝了字典對(duì)象,簡(jiǎn)化了字典子類(lèi)化

UserList 封裝了列表對(duì)象,簡(jiǎn)化了列表子類(lèi)化

UserString 封裝了字符串對(duì)象,簡(jiǎn)化了字符串子類(lèi)化

其中Counter中文意思是計(jì)數(shù)器,也就是我們常用于統(tǒng)計(jì)的一種數(shù)據(jù)類(lèi)型,在使用Counter之后可以讓我們的代碼更加簡(jiǎn)單易讀。Counter類(lèi)繼承dict類(lèi),所以它能使用dict類(lèi)里面的方法

舉例

#統(tǒng)計(jì)詞頻

fruits = ['apple', 'peach', 'apple', 'lemon', 'peach', 'peach']

result = {}

for fruit in fruits:

if not result.get(fruit):

result[fruit] = 1

else:

result[fruit] += 1

print(result)

#{'apple': 2, 'peach': 3, 'lemon': 1}下面我們看用Counter怎么實(shí)現(xiàn):

from collections import Counter

fruits = ['apple', 'peach', 'apple', 'lemon', 'peach', 'peach']

c = Counter(fruits)

print(dict(c))

#{'apple': 2, 'peach': 3, 'lemon': 1}顯然代碼更加簡(jiǎn)單了,也更容易閱讀和維護(hù)了。

elements()

返回一個(gè)迭代器,其中每個(gè)元素將重復(fù)出現(xiàn)計(jì)數(shù)值所指定次。元素會(huì)按首次出現(xiàn)的順序返回。如果一個(gè)元素的計(jì)數(shù)值小于1,elements()將會(huì)忽略它。

c = Counter(a=4, b=2, c=0, d=-2)

sorted(c.elements())

['a', 'a', 'a', 'a', 'b', 'b']most_common([n])

返回一個(gè)列表,其中包含n個(gè)最常見(jiàn)的元素及出現(xiàn)次數(shù),按常見(jiàn)程度由高到低排序。如果n被省略或?yàn)镹one,most_common()將返回計(jì)數(shù)器中的所有元素。計(jì)數(shù)值相等的元素按首次出現(xiàn)的順序排序:

Counter('abracadabra').most_common(3)

[('a', 5), ('b', 2), ('r', 2)]這兩個(gè)方法是Counter中最常用的方法,其他方法可以參考 python3.10.1官方文檔

實(shí)戰(zhàn)

Leetcode 1002.查找共用字符

給你一個(gè)字符串?dāng)?shù)組words,請(qǐng)你找出所有在words的每個(gè)字符串中都出現(xiàn)的共用字符(包括重復(fù)字符),并以數(shù)組形式返回。你可以按任意順序返回答案。

輸入:words = ["bella", "label", "roller"]

輸出:["e", "l", "l"]

輸入:words = ["cool", "lock", "cook"]

輸出:["c", "o"]看到統(tǒng)計(jì)字符,典型的可以用Counter完美解決。這道題是找出字符串列表里面每個(gè)元素都包含的字符,首先可以用Counter計(jì)算出每個(gè)元素每個(gè)字符出現(xiàn)的次數(shù),依次取交集最后得出所有元素共同存在的字符,然后利用elements輸出共用字符出現(xiàn)的次數(shù)

class Solution:

def commonChars(self, words: List[str]) - List[str]:

from collections import Counter

ans = Counter(words[0])

for i in words[1:]:

ans = Counter(i)

return list(ans.elements())提交一下,發(fā)現(xiàn)83個(gè)測(cè)試用例耗時(shí)48ms,速度還是不錯(cuò)的

sorted

在處理數(shù)據(jù)過(guò)程中,我們經(jīng)常會(huì)用到排序操作,比如將列表、字典、元組里面的元素正/倒排序。這時(shí)候就需要用到sorted(),它可以對(duì)任何可迭代對(duì)象進(jìn)行排序,并返回列表

對(duì)列表升序操作:

a = sorted([2, 4, 3, 7, 1, 9])

print(a)

# 輸出:[1, 2, 3, 4, 7, 9]對(duì)元組倒序操作:

sorted((4,1,9,6),reverse=True)

print(a)

# 輸出:[9, 6, 4, 1]使用參數(shù):key,根據(jù)自定義規(guī)則,按字符串長(zhǎng)度來(lái)排序:

fruits = ['apple', 'watermelon', 'pear', 'banana']

a = sorted(fruits, key = lambda x : len(x))

print(a)

# 輸出:['pear', 'apple', 'banana', 'watermelon']all

all() 函數(shù)用于判斷給定的可迭代參數(shù)iterable中的所有元素是否都為 TRUE,如果是返回 True,否則返回 False。元素除了是 0、空、None、False外都算True。注意:空元組、空列表返回值為T(mén)rue。

all(['a', 'b', 'c', 'd']) # 列表list,元素都不為空或0

True

all(['a', 'b', '', 'd']) # 列表list,存在一個(gè)為空的元素

False

all([0, 1,2, 3]) # 列表list,存在一個(gè)為0的元素

False

all(('a', 'b', 'c', 'd')) # 元組tuple,元素都不為空或0

True

all(('a', 'b', '', 'd')) # 元組tuple,存在一個(gè)為空的元素

False

all((0, 1, 2, 3)) # 元組tuple,存在一個(gè)為0的元素

False

all([]) # 空列表

True

all(()) # 空元組

Trueany函數(shù)正好和all函數(shù)相反:判斷一個(gè)tuple或者list是否全為空,0,F(xiàn)alse。如果全為空,0,F(xiàn)alse,則返回False;如果不全為空,則返回True。

F-strings

在python3.6.2版本中,PEP 498提出一種新型字符串格式化機(jī)制,被稱為 “字符串插值” 或者更常見(jiàn)的一種稱呼是F-strings,F(xiàn)-strings提供了一種明確且方便的方式將python表達(dá)式嵌入到字符串中來(lái)進(jìn)行格式化:

s1='Hello'

s2='World'

print(f'{s1} {s2}!')

# Hello World!在F-strings中我們也可以執(zhí)行函數(shù):

def power(x):

return x*x

x=4

print(f'{x} * {x} = {power(x)}')

# 4 * 4 = 16而且F-strings的運(yùn)行速度很快,比傳統(tǒng)的%-string和str.format()這兩種格式化方法都快得多,書(shū)寫(xiě)起來(lái)也更加簡(jiǎn)單。

本文主要講解了python幾種冷門(mén)但好用的函數(shù),更多內(nèi)容以后會(huì)陸陸續(xù)續(xù)更新~


網(wǎng)站題目:python的函數(shù)講解 python函數(shù)菜鳥(niǎo)教程
鏈接分享:http://weahome.cn/article/dooggjj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部