每天十分鐘掌握Python——關於運算符和字符串那些不爲人知的事(附贈知識點思維導圖)

筆者:風起怨江南 出處:https://blog.csdn.net/JackMengJin 筆者原創,文章歡迎轉載,轉載請標明出處。如果喜歡請點贊+關注,感謝支持!

 

最近的一篇《避雷!零基礎菜鳥如何快速上手Python》文章->傳送門,得到了很多朋友的點贊和收藏,那麼這一篇《關於運算符和字符串那些不爲人知的事》也希望能夠幫助到大家。本講內容的思維導圖在文章的最後面,需要的朋友記得保存。

 

目錄

一、上一篇內容回顧

1.1 回顧標識符

1.2 註釋

1.3 簡單的內置函數

1.4 數據類型

1.5 數據類型轉換

 

二、 運算符

2.1 賦值運算

2.2 比較運算

2.3 邏輯運算

2.4 運算符優先級

三、字符串

3.1 什麼是字符串

3.2 成員運算

3.3 成員操作

3.5 獲取字符串的長度 len()

3.7 步長


 

關於運算符和字符串那些不爲人知的事

 

一、上一篇內容回顧

  • Pycharm使用的重點:千萬不要選virtualenv,避開雷區

虛擬環境會導致terminal前面有個括號,意味着進入到了虛擬環境,先不涉及虛擬環境。

提問:那如果不確定是否選擇了virtualenv虛擬環境,我們怎麼去驗證是虛擬環境還是系統環境呢?

步驟如下:

settings

Project

Project Interpreter

帶括號是虛擬環境

不帶括號是系統環境

現階段暫時不要涉及到虛擬環境,關於虛擬環境的用法後期會再詳細講解。

1.1 回顧標識符

 

變量命名規範

  • 1.字母數字下劃線
  • 2.不能數字開頭
  • 3.不要使用關鍵字

錯誤時會出現紅色波浪線

  • 4.見名知意(重要,需要多練習,通過名字能知道後面數據代表什麼。這個真的很重要!)

1.2 註釋

#號 單行註釋

三引號 """

多行註釋

"""

ctrl + / 註釋快捷操作

1.3 簡單的內置函數

print() 打印

input() 獲取用戶輸入

1.4 數據類型

int整形

float浮點數

str字符串

bool布爾型

查看是什麼數據類型用type()函數來確認

#type()函數用法
str_abc = 'abc'
print(type(str_abc))
print(str_abc)
<class 'str'>
abc

1.5 數據類型轉換

數據類型後面加個括號就是數據類型的轉換,不是所有類型之間都可以相互轉換。

比如:字符串轉換爲整形——不一定

可以轉換:

#數據類型轉換
str_demo = '123'
print(int(str_demo))
print(type(str_demo))
print(str_demo)
123
<class 'str'>
123

數字就可以完成轉換,而不可以轉換的情況:

#數據類型轉換
str_demo = 'abc'
print(int(str_demo))
print(type(str_demo))
print(str_demo)
Traceback (most recent call last):
File "E:/MyLife/demo.py", line 29, in <module>   print(int(str_demo))
ValueError: invalid literal for int() with base 10: 'abc'
  • 數據轉換重點內容

布爾轉換是重點

以下情況bool轉化爲False,意思爲空或者0:

  • bool(1) True
  • bool(0) False
  • bool(-1) True

需要注意的是 bool(" ") True 空格是有意義的,這個是python的坑

#布爾數據類型轉換
print(bool(''))
print(bool(' '))
False
True

bool("") False 沒空格是False!

 

二、 運算符

運算符就是算術運算符,包括加減乘數:

  • +加法
  • -減法
  • *乘法
  • /除法

需要注意是除法,得到的是浮點數。

小技巧——這裏有個pycharm的小技巧,打紅色斷點後,右鍵點debug,可以查看數據類型:

爲什麼除法得到的不是整數?

因爲除法會遇到除不盡的情況,所以使用了除法數據類型會轉化爲浮點數。

需要注意:被除數不能爲0(小學數學知識點,別問我爲什麼= =)

冪運算

** 次方運算

整除

// 15 // 2 取整數部分 等於7

重點:取餘數,專有名詞爲模運算

h = 15 % 2

模運算經常用來進行奇數偶數判斷:

x%2的值是0,說明x是偶數

x%2的值是1,說明x是奇數

a = input('請輸入數字:')

print(int(a) % 2)

如果得到的數字是0,就是偶數,1就是奇數

2.1 賦值運算

a = 6 將6賦值給變量a

a += 6 #相當於a = a + 6 a = 12

a -= 4 #相當於a = a - 4 a = 8

a *= 2 #相當於 a = a * 2

2.2 比較運算

布爾類型 == >= <= != > <

== 等於的意思

= 一個等號是賦值的意思

a = 1 == 2

優先級先算==,再算賦值,如果不清楚請加括號!

得到的結果是布爾類型正確是True,錯誤是False。

2.3 邏輯運算

and 兩種運算,並且

1 > 2 and 3 < 4 錯的,邏輯運算符可以加很多

對於and而言,一錯再錯,一直錯

or 或者 錯一點沒關係,不全錯就行

1 > 2 or 3 < 4

not 槓精,作對的

not 1 > 2,True

實戰操作

 print(not 2 != 3 and 6 < 7 or 5 == 4)

2.4 運算符優先級

優先級最高的是加括號

比較運算得到的結果是布爾類型

邏輯運算得到的結果也是布爾類型

在if判斷中會用到布爾類型

 

 

三、字符串

3.1 什麼是字符串

我們在python中以引號括起來的數據類型就是字符串。

只要在引號裏面就是字符串,前面可以加個變量:

a = "qwertyuiopasdfghjkl;'zxcvbnm,./'"

引號可以是單引號,雙引號,三引號,沒有任何區別,

三引號可以表示多行字符串:

a = """

這是一個多行註釋

巴拉巴拉小魔仙

"""

單引號和雙引號時不能多行註釋,只能表示一行。

三引號可以是三個單引號,也可以是三個雙引號。

三引號什麼時候是註釋什麼時候是字符串

  • 用到的時候就是字符串,不用就是註釋
  • 比如用到print(),變量等等

 

3.2 成員運算

#成員運算
names = "jack"
print ("jack" in names)
True

返回得到布爾類型:true

in 真的 not in 假的

3.3 成員操作

字符串也是可以用+號的,表示字符串拼接起來:

family_name = "Jack"
last_name = "Meng"
print(family_name + last_name)
True
JackMeng

而字符串 * 數字,表示重複多少遍:

family_name = "Jack"
last_name = "Meng"
print(family_name + last_name)
print(last_name * 5)
True
JackMeng
MengMengMengMengMeng

注意:字符串不能乘字符串,只能乘數字

family_name = "Jack"
last_name = "Meng"
print(last_name * family_name)
Traceback (most recent call last):
  File "E:/MyLife/demo2.py", line 13, in <module>
    print(last_name * family_name)
TypeError: can't multiply sequence by non-int of type 'str'

3.4 字符串索引

重點:表示獲取字符串當中的某一個元素

字符串的索引:索引(字符串裏面每一個字符都有下標(索引),並且是從0開始)

正序:從頭開始數

反序:從尾開始數

字符串怎麼取值:根據索引取值

取值公式:字符串名[索引值]

索引表示方法:name[索引號]

在Python中,索引從0開始。-1的索引代表最後一位。

3.5 獲取字符串的長度 len()

需要注意的是,超出索引範圍,會報錯!!

name = "1"
name_len = len(name)
print(name[name_len - 3])
Traceback (most recent call last):
  File "E:/MyLifedemo2.py", line 10, in <module>
    print(name[name_len - 3])
IndexError: string index out of range

3.6 切片

定義:切片操作可以從一個字符串中獲取子字符串(字符串的一部分),使用起始偏移量

tart、終止偏移量end、可選步長step定義一個分片

格式:name[切的起始點:切的終點]

特點:取頭不取尾

  • [:]提取開頭到結尾
  • [start:]從start提取到結尾
  • [:end]從開頭提取到end-1
  • [start:end]從start提取到end-1

切片:獲取字符串的多個元素

注意:這裏有個坑,切片屬於顧頭不固腚那種,,取左不取右,切的終點+1,也就是右邊的要 +1。

3.7 步長

num = "12345678987654321"
print(num[1:5:2]) #1 + 2 + 2
print(num[2:8:3])
24
36

步長:step獲取第一次以後+多少個索引去獲取第2個索引

方向:正數是正方向,負數是負方向:

num = "123456789abcdefg"
print(num[::-1])
gfedcba987654321

切片中超出範圍是不會報錯的:

num = "123456789abcdefg"
print(num[1:10000000000])
23456789abcdefg

在切片道中,超出範圍是不報錯的,是表示取完的意思。

經常有Python的面試題會用到這裏,比如如何倒序

print(name[::-1])

總結:

字符串的操作

表示方法,單引號 雙引號 三引號

字符串的拼接

加號+和乘號*

加號表示拼接,乘號表示重複次數

in/not in 成員運算

len()函數 獲取字符串的長度

索引 獲取後一個元素,以0開始,而不是1開始,超出索引範圍會出錯IndexError

負數 從-1開始 從右邊取

切片 獲取多個元素,取左不取右,超出範圍 不報錯,表示方法:name[start:step]

step爲負數表示倒序

等等。下面奉上知識點的思維導圖:


 

 


以上內容便是《每天十分鐘掌握Python——運算符和字符串》的所有內容,更多python學習請繼續關注我的博客——風起怨江南,目前《Python學習》專題正在不斷更新,其他學習模塊正在創作中。原創不易,轉載請註明哦。如果喜歡請點贊和關注,謝謝大家的支持!

獲得更多免費的學習資料請添加微信公衆號——風起怨江南,謝謝大家的關注和支持!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章