欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Python入門實(shí)踐8 | 字符串(String)

系統(tǒng) 1632 0

Python入門實(shí)踐8 ——字符串(String)


字符串(String)
一、目標(biāo)

1、熟練使用print函數(shù)。
2、了解常用的轉(zhuǎn)義字符。
3、掌握%、str.format()、f-string三種格式化輸出字符串的方法。
4、了解常用字符串操作函數(shù)。

二、要點(diǎn)

1、字符串
用引號引起來的就是字符串,三種引號: 單引號、雙引號、三引號。

2、Python訪問字符串中的值

1)、Python不支持單字符類型,單字符在 Python 中也是作為一個字符串使用。一個字符就是長度為 1 的字符串。

2)、python中字符串是不可變對象,所有修改和生成字符串的操作的實(shí)現(xiàn)方法都是另一個內(nèi)存片段中新生成一個字符串對象。

2)、Python訪問子字符串,可以使用方括號來截取字符串。字符串有兩種索引方式,從左往右以 0 開始,從右往左以 -1 開始。字符串的截取的語法格式如下:
變量[頭下標(biāo):尾下標(biāo):步長];

3、Python轉(zhuǎn)義字符

python用反斜杠(\)轉(zhuǎn)義字符。如下表:

轉(zhuǎn)義字符 描述
\(在行尾時(shí)) 續(xù)行符
\\ 反斜杠符號
\' 單引號
\" 雙引號
\a 響鈴
\b 退格(Backspace)
\e 轉(zhuǎn)義
\000
\n 換行
\v 縱向制表符
\t 橫向制表符
\r 回車
\f 換頁
\oyy 八進(jìn)制數(shù),yy代表的字符,例如:\o12代表換行
\xyy 十六進(jìn)制數(shù),yy代表的字符,例如:\x0a代表換行
\other 其它的字符以普通格式輸出

4、Python字符串運(yùn)算符

下表實(shí)例變量 a 值為字符串 "Hello",b 變量值為 "Python":

操作符 描述 實(shí)例
+ 字符串連接 >>>a + b 'HelloPython'
* 重復(fù)輸出字符串 >>>a * 2 'HelloHello'
[] 通過索引獲取字符串中字符 >>>a[1] 'e'
[ : ] 截取字符串中的一部分 >>>a[1:4] 'ell'
in 成員運(yùn)算符 - 如果字符串中包含給定的字符返回 True >>>"H" in a True
not in 成員運(yùn)算符 - 如果字符串中不包含給定的字符返回 True >>>"M" not in a True
r/R 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思來使用,沒有轉(zhuǎn)義特殊或不能打印的字符。 原始字符串除在字符串的第一個引號前加上字母"r"(可以大小寫)以外,與普通字符串有著幾乎完全相同的語法。 >>>print r'\n' \n >>> print R'\n' \n
% 格式字符串

5、print() 方法

print() 方法用于打印輸出,最常見的一個函數(shù)。
以下是 print() 方法的語法:

print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
參數(shù):

  • value -- 變量,表示可以一次輸出多個對象。輸出多個對象時(shí),需要用 , 分隔。
  • sep -- 用來間隔多個對象,默認(rèn)值是一個空格。
  • end -- 用來設(shè)定以什么結(jié)尾。默認(rèn)值是換行符 \n,我們可以換成其他字符串。
  • file -- 要寫入的文件對象。
    可通過help(print)查看函數(shù)說明。
    如:print("www","runoob","com",sep=".") # 設(shè)置間隔符

6、Python 格式化輸出

1)、 % 格式化
使用 % 可以進(jìn)行格式化,調(diào)用print函數(shù)進(jìn)行輸出。

格式如下:

“模板”%(tuple)

Python使用一個字符串作為模板。模板中有格式符,這些格式符為真實(shí)值預(yù)留位置,并說明真實(shí)數(shù)值應(yīng)該呈現(xiàn)的格式。Python用一個tuple將多個值傳遞給模板,每個值對應(yīng)一個格式符。在模板和tuple之間,有一個%號分隔,代表了格式化操作。

比如下面的例子:

print("I'm %s. I'm %d year old" % ('Vamei', 99))

模板:"I'm %s. I'm %d year old"
%s為第一個格式符,表示一個字符串。
%d為第二個格式符,表示一個整數(shù)。
tuple:('Vamei', 99)
兩個元素'Vamei'和99為替換%s和%d的真實(shí)值。

python 字符串格式化符號:

符 號 描述
%c 格式化字符及其ASCII碼
%s 格式化字符串
%d 格式化整數(shù)
%u 格式化無符號整型
%o 格式化無符號八進(jìn)制數(shù)
%x 格式化無符號十六進(jìn)制數(shù)
%X 格式化無符號十六進(jìn)制數(shù)(大寫)
%f 格式化浮點(diǎn)數(shù)字,可指定小數(shù)點(diǎn)后的精度
%e 用科學(xué)計(jì)數(shù)法格式化浮點(diǎn)數(shù)
%E 作用同%e,用科學(xué)計(jì)數(shù)法格式化浮點(diǎn)數(shù)
%g %f和%e的簡寫
%G %F 和 %E 的簡寫
%p 用十六進(jìn)制數(shù)格式化變量的地址
* 定義寬度或者小數(shù)點(diǎn)精度
- 用做左對齊
+ 在正數(shù)前面顯示加號( + )
在正數(shù)前面顯示空格
# 在八進(jìn)制數(shù)前面顯示零('0'),在十六進(jìn)制前面顯示'0x'或者'0X'(取決于用的是'x'還是'X')
0 顯示的數(shù)字前面填充'0'而不是默認(rèn)的空格
% '%%'輸出一個單一的'%'
(var) 映射變量(字典參數(shù))
m.n m 是顯示的最小總寬度,n 是小數(shù)點(diǎn)后的位數(shù)(如果可用的話)

2)、 str.format() 格式化
Python2.6開始,新增了一種格式化字符串的函數(shù) str.format(),它增強(qiáng)了字符串格式化的功能。調(diào)用print函數(shù)進(jìn)行輸出。

str.format()的基本語法是通過 {} 和 : 來代替 % 。
Python使用一個字符串作為模板。模板中有格式符 {} 和 : ,這些格式符為真實(shí)值預(yù)留位置,并說明真實(shí)數(shù)值應(yīng)該呈現(xiàn)的格式。Python用一個tuple作為format的參數(shù)將多個值傳遞給模板,每個值對應(yīng){}一個格式符。
形如:
“模板”.format(tuple)

比如下面的例子:
print("{} {}".format("hello", "world"))
print("%s %s"%("hello","world") );#對比
模板:"{} {}"
參數(shù):tuple

模板形如{:format_spec}
format_spec ::= [[fill]align][sign][#][0][width][,][.precision][type]
fill ::= #fill是表示能夠填寫不論什么字符。
align ::= "<" | ">" | "=" | "^" #align是對齊方式,<是左對齊, >是右對齊。^是居中對齊。
sign ::= "+" | "-" | " " #sign是符號, +表示正號, -表示負(fù)號。
width ::= integer #width是數(shù)字寬度,表示總共輸出多少位數(shù)字。
precision ::= integer #precision是小數(shù)保留位數(shù)。
type ::= "b" | "c" | "d" | "e" | "E" | "f" | "F" | "g" | "G" | "n" | "o" | "s" | "x" | "X" | "%" #type是輸出數(shù)字值是的表示方式,比方b是二進(jìn)制表示;比方E是指數(shù)表示。比方X是十六進(jìn)制表示。

格式化操作符:

格式符類型 格式符含義
: 引導(dǎo)符號
<填充> 用于填充的單個字符
<對齊> < 左對齊 > 右對齊 ^居中對齊
<符號> +表示正號 -表示負(fù)號
<寬度> 槽的設(shè)定輸 出寬度
<.精度> 浮點(diǎn)數(shù)小數(shù)部分的精度或字符串的最大輸出長度
數(shù)字的千位 分隔符 適用子整數(shù) 和浮點(diǎn)數(shù)
<類型> 整數(shù)類型 b,c,d,o,x,x 浮點(diǎn)數(shù)類型 e,E,f,%
{} 來轉(zhuǎn)義大括號

3)、f-strings格式化

f-Strings:一種改進(jìn)Python格式字符串的新方法。自Python 3.6開始加入標(biāo)準(zhǔn)庫。
也稱為“格式化字符串文字”,F(xiàn)字符串是開頭有一個f的字符串文字,以及包含表達(dá)式的大括號將被其值替換。表達(dá)式在運(yùn)行時(shí)進(jìn)行渲染,然后使用 format 協(xié)議進(jìn)行格式化。

在運(yùn)行時(shí),大括號內(nèi)的表達(dá)式將在其自己的作用域中進(jìn)行求值,然后將其與其余字符串組合在一起。
形如:
f`'[text]{expression[!s,!r,or!a][:format specifier]}[text]...

f-strings可以包含任意表達(dá)式,它可以是變量、常量、各種運(yùn)算表達(dá)式、條件表達(dá)式、函數(shù)等。

7、Python三引號(triple quotes)

python中三引號可以將復(fù)雜的字符串進(jìn)行復(fù)制:

python三引號允許一個字符串跨多行,字符串中可以包含換行符、制表符以及其他特殊字符。

三引號的語法是一對連續(xù)的單引號或者雙引號(通常都是成對的用)。

8、python的字符串內(nèi)建函數(shù)

字符串方法是從python1.6到2.0慢慢加進(jìn)來的——它們也被加到了Jython中。

這些方法實(shí)現(xiàn)了string模塊的大部分方法,如下表所示列出了目前字符串內(nèi)建支持的方法,所有的方法都包含了對Unicode的支持,有一些甚至是專門用于Unicode的。

方法 描述
string.capitalize() 把字符串的第一個字符大寫
string.center(width) 返回一個原字符串居中,并使用空格填充至長度 width 的新字符串
string.count(str, beg=0, end=len(string)) 返回 str 在 string 里面出現(xiàn)的次數(shù),如果 beg 或者 end 指定則返回指定范圍內(nèi) str 出現(xiàn)的次數(shù)
string.decode(encoding='UTF-8', errors='strict') 以 encoding 指定的編碼格式解碼 string,如果出錯默認(rèn)報(bào)一個 ValueError 的 異 常 , 除非 errors 指 定 的 是 'ignore' 或 者'replace'
string.encode(encoding='UTF-8', errors='strict') 以 encoding 指定的編碼格式編碼 string,如果出錯默認(rèn)報(bào)一個ValueError 的異常,除非 errors 指定的是'ignore'或者'replace'
string.endswith(obj, beg=0, end=len(string)) 檢查字符串是否以 obj 結(jié)束,如果beg 或者 end 指定則檢查指定的范圍內(nèi)是否以 obj 結(jié)束,如果是,返回 True,否則返回 False.
string.expandtabs(tabsize=8) 把字符串 string 中的 tab 符號轉(zhuǎn)為空格,tab 符號默認(rèn)的空格數(shù)是 8。
string.find(str, beg=0, end=len(string)) 檢測 str 是否包含在 string 中,如果 beg 和 end 指定范圍,則檢查是否包含在指定范圍內(nèi),如果是返回開始的索引值,否則返回-1
string.format() 格式化字符串
string.index(str, beg=0, end=len(string)) 跟find()方法一樣,只不過如果str不在 string中會報(bào)一個異常.
string.isalnum() 如果 string 至少有一個字符并且所有字符都是字母或數(shù)字則返 回 True,否則返回 False
string.isalpha() 如果 string 至少有一個字符并且所有字符都是字母則返回 True, 否則返回 False
string.isdecimal() 如果 string 只包含十進(jìn)制數(shù)字則返回 True 否則返回 False.
string.isdigit() 如果 string 只包含數(shù)字則返回 True 否則返回 False.
string.islower() 如果 string 中包含至少一個區(qū)分大小寫的字符,并且所有這些(區(qū)分大小寫的)字符都是小寫,則返回 True,否則返回 False
string.isnumeric() 如果 string 中只包含數(shù)字字符,則返回 True,否則返回 False
string.isspace() 如果 string 中只包含空格,則返回 True,否則返回 False.
string.istitle() 如果 string 是標(biāo)題化的(見 title())則返回 True,否則返回 False
string.isupper() 如果 string 中包含至少一個區(qū)分大小寫的字符,并且所有這些(區(qū)分大小寫的)字符都是大寫,則返回 True,否則返回 False
string.join(seq) 以 string 作為分隔符,將 seq 中所有的元素(的字符串表示)合并為一個新的字符串
string.ljust(width) 返回一個原字符串左對齊,并使用空格填充至長度 width 的新字符串
string.lower() 轉(zhuǎn)換 string 中所有大寫字符為小寫.
string.lstrip() 截掉 string 左邊的空格
string.maketrans(intab, outtab]) maketrans() 方法用于創(chuàng)建字符映射的轉(zhuǎn)換表,對于接受兩個參數(shù)的最簡單的調(diào)用方式,第一個參數(shù)是字符串,表示需要轉(zhuǎn)換的字符,第二個參數(shù)也是字符串表示轉(zhuǎn)換的目標(biāo)。
max(str) 返回字符串 str 中最大的字母。
min(str) 返回字符串 str 中最小的字母。
string.partition(str) 有點(diǎn)像 find()和 split()的結(jié)合體,從 str 出現(xiàn)的第一個位置起,把 字 符 串 string 分 成 一 個 3 元 素 的 元 組 (string_pre_str,str,string_post_str),如果 string 中不包含str 則 string_pre_str == string.
string.replace(str1, str2, num=string.count(str1)) 把 string 中的 str1 替換成 str2,如果 num 指定,則替換不超過 num 次.
string.rfind(str, beg=0,end=len(string) ) 類似于 find()函數(shù),不過是從右邊開始查找.
string.rindex( str, beg=0,end=len(string)) 類似于 index(),不過是從右邊開始.
string.rjust(width) 返回一個原字符串右對齊,并使用空格填充至長度 width 的新字符串
string.rpartition(str) 類似于 partition()函數(shù),不過是從右邊開始查找
string.rstrip() 刪除 string 字符串末尾的空格.
string.split(str="", num=string.count(str)) 以 str 為分隔符切片 string,如果 num 有指定值,則僅分隔 num+ 個子字符串
string.splitlines([keepends]) 按照行('\r', '\r\n', \n')分隔,返回一個包含各行作為元素的列表,如果參數(shù) keepends 為 False,不包含換行符,如果為 True,則保留換行符。
string.startswith(obj, beg=0,end=len(string)) 檢查字符串是否是以 obj 開頭,是則返回 True,否則返回 False。如果beg 和 end 指定值,則在指定范圍內(nèi)檢查.
string.strip([obj]) 在 string 上執(zhí)行 lstrip()和 rstrip()
string.swapcase() 翻轉(zhuǎn) string 中的大小寫
string.title() 返回"標(biāo)題化"的 string,就是說所有單詞都是以大寫開始,其余字母均為小寫(見 istitle())
string.translate(str, del="") 根據(jù) str 給出的表(包含 256 個字符)轉(zhuǎn)換 string 的字符, 要過濾掉的字符放到 del 參數(shù)中
string.upper() 轉(zhuǎn)換 string 中的小寫字母為大寫
string.zfill(width) 返回長度為 width 的字符串,原字符串 string 右對齊,前面填充0
字符串(String)——思維導(dǎo)圖
三、步驟

1、新建新建ex8.py文件。
2、錄入實(shí)例中代碼。
3、運(yùn)行。

四、實(shí)例(Python 3.0+)
          
            #!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
__title__ = ''
__author__ = 'jungle'
__mtime__ = '2019-08-25'
"""

str1 = 'hello';
str2="word"
print('----------輸出子串------------------')
print(str1);  # 輸出字符串
print(str1[0:-1]) ; # 輸出第一個到倒數(shù)第二個的所有字符
print(str1[0]) ; # 輸出字符串第一個字符
print(str1[2:4]) ; # 輸出從第三個開始到第四個的字符
print(str1[2:]);  # 輸出從第三個開始的后的所有字符
print('---------查看print函數(shù)的說明----------')
print(help(print));
print('---------print參數(shù)-------------------')
print(str1,str2,sep=" ",end="!\n");
print("www","runoob","com",sep=".",end="\n") ; # 設(shè)置間隔符
print((1, 2, 3));
print('---------轉(zhuǎn)義字符---------------------')
print('hello\nrunoob')  # 使用反斜杠(\)+n轉(zhuǎn)義特殊字符
print(r'hello\nrunoob')  # 在字符串前面添加一個 r,表示原始字符串,不會發(fā)生轉(zhuǎn)義

print('-----三引號----------------')
errHTML = '''

            
              
Friends CGI Demo
            
            

ERROR

%s

'''; print( errHTML); print('-----格式化輸出16進(jìn)制,十進(jìn)制,八進(jìn)制整數(shù)----') nHex = 0xFF; print("nHex = %x,nDec = %d,nOct = %o" %(nHex,nHex,nHex)); print('-----格式化輸出浮點(diǎn)數(shù)(float)-----n') pi = 3.141592653; print('%-10.3f' % pi); # 左對齊 print('---------查看str.format()函數(shù)的說明----------') print(help(format)); #print(help('FORMATTING')); print('---------str.format()----------') print("{} {}".format("hello", "world") ); print("%s %s"%("hello","world") ); print(help('FORMATTING')); print('---------f-strings----------') name = 'Lily'; print (f'I love {name}'); print('---------字符串運(yùn)算-------------------') print(str1 * 2) ; # 輸出字符串兩次 print(str1 + '你好') # 連接字符串
五、運(yùn)行輸出:
          
            ----------輸出子串------------------
hello
hell
h
ll
llo
---------查看print函數(shù)的說明----------
Help on built-in function print in module builtins:

print(...)
    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
    
    Prints the values to a stream, or to sys.stdout by default.
    Optional keyword arguments:
    file:  a file-like object (stream); defaults to the current sys.stdout.
    sep:   string inserted between values, default a space.
    end:   string appended after the last value, default a newline.
    flush: whether to forcibly flush the stream.

None
---------print參數(shù)-------------------
hello word!
www.runoob.com
(1, 2, 3)
---------轉(zhuǎn)義字符---------------------
hello
runoob
hello\nrunoob
-----三引號----------------


            
              
Friends CGI Demo
            
            

ERROR

%s

-----格式化輸出16進(jìn)制,十進(jìn)制,八進(jìn)制整數(shù)---- nHex = ff,nDec = 255,nOct = 377 -----格式化輸出浮點(diǎn)數(shù)(float)-----n 3.142 ---------查看str.format()函數(shù)的說明---------- Help on built-in function format in module builtins: format(value, format_spec='', /) Return value.__format__(format_spec) format_spec defaults to the empty string. See the Format Specification Mini-Language section of help('FORMATTING') for details. None ---------str.format()---------- hello world hello world ---------f-strings---------- I love Lily ---------字符串運(yùn)算------------------- hellohello hello你好
六、代碼說明
          
            print(help(print));

          
        

help(print),查看函數(shù)print的幫助文檔。

注:

1、撰寫內(nèi)容來源于個人收集的文獻(xiàn),屬學(xué)術(shù)探究范疇。
2、版權(quán)屬于時(shí)進(jìn)軍個人,轉(zhuǎn)載需注明。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: A片扒开双腿猛进入免费 | 欧美精品日韩 | 免费日本在线视频 | 中文在线观看免费视频 | 欧美18—19sex性hd按摩 | 一级特黄特黄毛片欧美的 | 9久9久女女免费精品视频在线观看 | 成人黄色在线 | 国产成人福利在线视老湿机 | 一级做a爰片性色毛片视频图片 | 日韩一二 | 日产乱码卡一卡2卡三卡四麻豆 | 2019国产精品 | 国产精品国产三级国产播12软件 | 免费黄色欧美视频 | 国产a区 | 一级欧美黄色片 | 亚洲伦理中文字幕 | 一区二区免费在线观看 | 精品一卡2卡三卡4卡免费视频 | 日本 欧美 国产 | 丁香六月综合 | 国产成人一区二区三区 | 九九精品视频在线播放 | 亚洲一区国产 | 91网站免费观看直播 | 欧美精品一区二区三区蜜桃视频 | 欧美精品日韩 | 久久r热这里有精品视频 | 欧美区在线 | 日本黄色激情视频 | 一区二区免费 | 国产欧美精品一区二区 | 久久亚洲国产成人影院 | 色天天综合色天天碰 | 好骚综合在线 | 亚洲一区二区三 | 日韩精品久久久久影院 | a在线观看网站 | 精品国产91亚洲一区二区三区www | sese综合|