99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁(yè)精彩閱讀詳解Python核心對(duì)象類型字符串
詳解Python核心對(duì)象類型字符串
2018-02-17
收藏

詳解Python核心對(duì)象類型字符串

Python的字符串的特點(diǎn)

Python與C語(yǔ)言,Java語(yǔ)言都不一樣,沒(méi)有單個(gè)字符,只有一個(gè)有一個(gè)字符的字符串。

字符串對(duì)象不可修改,屬于不可變類型

字符串和列表,元組都從屬于序列這個(gè)對(duì)象類別。所以序列支持的操作,字符串也支持。

用單引號(hào)和雙引號(hào)表示都行,并列的字符串串常量會(huì)自動(dòng)合并,不需要顯式的用加號(hào)表示。

單雙引號(hào)里面的特殊字符必須用轉(zhuǎn)義序列表示,比如”,',\都需要在前面加個(gè)、,但是在三引號(hào)里面不需要轉(zhuǎn)義。

Python的字符串的支持的基本操作

支持序列的操作,比如len(‘a(chǎn)bc')取長(zhǎng)度

Python不允許混合數(shù)字和字符串的加法,比如9+'3'不會(huì)轉(zhuǎn)成字符串,這點(diǎn)和Java不一樣。

分片通過(guò)偏移來(lái)指定分片的大小,[偏移A:偏移B:偏移C]從左到右偏移為正,從右到左偏移為負(fù)。偏移A省略表示最左端,偏移B省略表示最右端,如[1:]表示從索引為1到最右端。分片創(chuàng)建一個(gè)新的對(duì)象返回,所以用[:]可以實(shí)現(xiàn)拷貝。分片偏移C表示步進(jìn),從左端和右端的區(qū)間復(fù)制索引相差為步進(jìn)的元素,組成新對(duì)象返回。

修改字符串會(huì)產(chǎn)生一個(gè)新的字符串對(duì)象,這時(shí)候可能會(huì)有疑問(wèn),這樣不是效率很低嗎?在JAVA中確實(shí)是這樣,如果用+號(hào)來(lái)合并字符串就會(huì)產(chǎn)生一個(gè)新對(duì)象,所以在JAVA中一般用StringBuilder避免產(chǎn)生過(guò)多的對(duì)象,但是在Python中沒(méi)被變量引用的對(duì)象會(huì)立即回收掉空間,新對(duì)象會(huì)重用回收的空間。所以效率并不會(huì)很低。

Python的字符串轉(zhuǎn)換

數(shù)字與字符串之間的轉(zhuǎn)換:通過(guò)內(nèi)置函數(shù)int(‘42'),str(42),float(‘42')之類的來(lái)轉(zhuǎn)換

字符串與ASCII碼之間的轉(zhuǎn)換:ord(‘323')將字符串轉(zhuǎn)為ASCII碼,chr(23)將ASCII碼轉(zhuǎn)換為字符串

字符串方法

修改字符串:通過(guò)合并+和分片[:]來(lái)修改,另一種是通過(guò)字符串的方法來(lái)修改。replace(‘goal','str')把字符串中的'goal'替換成'str'。find(‘index')返回字符串'index'開(kāi)始的索引。list(‘sds')將字符串'sds'轉(zhuǎn)換成列表['s','d','s'],這就變成了可變對(duì)象類型,可以直接對(duì)其進(jìn)行多次修改,再調(diào)用”.join(列表)轉(zhuǎn)換成字符串方法這比上面多次合并或切片效率要高。

文本解析:split(”)方法可以將文本切割成列表。

其他方法:rstrip()方法清除每行末尾空白,endswith(‘w')判斷是否以'w'結(jié)尾和startswith(‘t')是否以't'開(kāi)頭。

字符串不支持模式,需要使用Python的re標(biāo)準(zhǔn)庫(kù)模塊。

字符串格式化

Python支持在字符串放入%d,%s來(lái)實(shí)現(xiàn)類型替換,類似于C的printf。在字符串后面添加% 字符串 實(shí)現(xiàn)指定字符串替換,多個(gè)字符串要用()括起來(lái)。

基于字典的字符格式化

插入字符串的不再是固定的%d,%s而是%(字典的鍵)。替換的就是字典的值,這樣有一個(gè)好處就是能把整個(gè)字符串中的對(duì)應(yīng)字典鍵的字符串都替換成字典鍵對(duì)應(yīng)的值。

字符串格式化調(diào)用方法

前面的都是通過(guò)表達(dá)式來(lái)進(jìn)行字符串格式化。這里是通過(guò)字符串的方法進(jìn)行格式化。這就和Java的占位符差不多了,template='{0},{1},{2}',template.format('s','d','s')來(lái)進(jìn)行格式化。


數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼

若不方便掃碼,搜微信號(hào):CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺(tái)檢測(cè)極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說(shuō)明請(qǐng)參見(jiàn):http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }