python的簡單使用

2020-08-11 22:55:56

一.建立

s1 = 'lenovo'
s2 = "QF"
s3 = """hello lenovo"""
s4 = '''hello world'''
s5 = """hello
shark
"""
s6 = '''hello
world'''

二.簡單使用

1. \跳脫符

testimony = ‘This shirt doesn’t fit me’

words = ‘hello \nshark’

print (words)

2.+拼接
> In [1]: file_name= "成功的21個信念"
> 
> In [2]: suffix = '.txt'
> 
> In [3]: file_name = file_name + suffix
> 
> In [4]: file_name Out[4]: '成功的21個信念.txt'

拼接只能是 字串和字串進行操作,不可以用 字串和 一個非字串型別的物件相加

In [5]: '你好' + 1   ## 這會報錯的    字串不能和整形相加
3.*複製
In [6]: "-" * 10
Out[6]: '----------'

In [7]: print('*' * 10)
**********
三.取值和切片
1.字串 是 Python 中的一個 序列型別 的數據結構
  • 存放的數據,在其內是有序的。

s1 = 「shark」

序列型別的特點

  • 序列裡的每個數據被稱爲序列的一個元素

  • 元素在序列裡都是有個自己的位置的,這個位置被稱爲索引或

    者叫偏移量,也有叫下標的, 從 0 開始,從左到右依次遞增

  • 序列中的每一個元素可以通過這個元素的索引來獲取到

  • 獲取到序列型別數據中的多個元素需要用切片的操作來獲取

2.通過索引取值,獲取單個元素
In [10]: s1 = "shark"

In [11]: s1[0]
Out[11]: 's'

In [12]: s1[-1]
Out[12]: 'k'

In [13]: s1[3]
Out[13]: 'r
3.切片,獲取多個元素

3.1一般操作

#使用切片獲取多個元素
In [15]: s1[0:3]
Out[15]: 'sha'

#起始和結尾的索引號可以省略
In [16]: s1[:3]
Out[16]: 'sha'

In [17]: s1[1:]
Out[17]: 'hark'

#索引可以使用 負數
In [18]: s1[2:-1]
Out[18]: 'ar'

In [19]:

下面 下麪這樣的操作,無法執行(無法從右往左)

s1[-1:-3]
‘’

因爲預設的切片是從左向右開始操作, 索引號 -1 的右邊沒有任何索引號了 -3-1 的左邊

3.2 使用步長

  • 步長就是每數幾個取一個的意思
  • 步長是正數時,是從左向右開始操作
  • 步長是負數時,是從右向左操作
In [19]: s2 = 'abcdefg'

In [20]: s2[::2]
Out[20]: 'aceg'

In [21]: s2[::-1]
Out[21]: 'gfedcba'

In [22]: s2[::-2]
Out[22]: 'geca'

四.字串方法

1.統計序列數據的長度

就是獲取一個序列數據的元素個數,這個適用於所有的序列型別的數據,比如 字串、列表、元組。

#獲取字串的長度,包含空格和換行符
In [25]: s3 = "a \n\t"

In [26]: len(s3)
Out[26]: 4

\n 是一個換行符
\t 是一個 Tab 鍵

2.in 成員判斷
In [39]: line = 'Size: 8192 MB'

In [40]: if 'Size' in line:
    ...:     print(line)
    ...:
    Size: 8192 MB

注意: 空的字串總是被視爲任何其他字串的子串,因此 "" in "abc" 將返回 True

3.strip() 去除字串兩端的空白字元(空格、\t\n
Out[41]: line = '    Size: 8192 MB'

In [42]: line.strip()
Out[42]: 'Size: 8192 MB'
4.split() 分割

預設使用空白字元作爲分隔符(空格、\t\n) 和 shell 中的 awk 一樣道理

In [47]: line
Out[47]: '    Size: 8192 MB'

In [48]: line.split()
Out[48]: ['Size:', '8192', 'MB']

In [49]: s
Out[49]: '\tab\n'

In [50]: s.split()
Out[50]: ['ab']

可以指定分隔符

In [51]: line.split(':')
Out[51]: ['    Size', ' 8192 MB']

In [52]: line.split(': ')
Out[52]: ['    Size', '8192 MB']
5.strip() 移除字串兩端的空白字元**
In [71]: line = '    Size: 8192 MB'

In [72]: line.strip()
Out[72]: 'Size: 8192 MB'

strip() 返回的是字串,所以可以連續操作

In [73]: line.strip().split(': ')
Out[73]: ['Size', '8192 MB']

In [74]: line
Out[74]: '    Size: 8192 MB'

In [75]: k, v = line.strip().split(': ')

In [76]: k
Out[76]: 'Size'

In [77]: v
Out[77]: '8192 MB'
6.replace() 替換
In [65]: line = '  <strong>10、命運在自己手裏,而不是在別人的嘴裏</strong></p>'

In [66]: line.strip()   ## 先去除兩端空白字元
Out[66]: '<strong>10、命運在自己手裏,而不是在別人的嘴裏</strong></p>'

In [67]: line.strip().replace('strong>', '')    ## 將字串 strong> 替換爲空
Out[67]: '<10、命運在自己手裏,而不是在別人的嘴裏</</p>'

In [68]: line.strip().replace('strong>', '')[1:-6]
Out[68]: '10、命運在自己手裏,而不是在別人的嘴裏'
7.startswith() 判斷字串以什麼爲開頭
In [85]: line = 'Locator: DIMM_A2'

In [86]: line.startswith("Locator:")
Out[86]: True
8.endswith() 判斷字串以什麼爲結尾
In [87]: line = 'Size: 8192 MB'

In [88]: line.endswith('MB')
Out[88]: True