1. python的基本數據類型
- Number(數字)
- String(字符串)
- Tuple(元組)
- List(列表)
- Set(集合)
- Dictionary(字典)
其中前3個為不可變數據類型,后三個為可變數據類型。
1.1 數字類型–Number
支持int, float, bool,complex
1.1.1 數據運算
基本運算規則不變,以下展示鮮知的。
另外進行混合運算時,整數會自動轉為浮點數。
# 除法得到一個整數,單個斜杠得到浮點數
print
(
4
/
9
)
print
(
4
//
9
)
print
(
2
**
5
)
0.4444444444444444
0
32
1.2 字符串類型–String
字符串使用單引號或雙引號,同時支持使用\轉義特殊字符
Python沒有單獨的字符類型,一個字符就是長度為1的字符串。
\可以作為轉義符,續行符
使用’’’ ‘’’ 也可以實現字符串換行,當字符串有多行時,打印結果也是多行
**注意:**字符串是不可變的,不能指定某一位置上的字符串進行替換
str
=
'123456789abcdefghi'
# 字符串截取
print
(
str
[
5
]
)
print
(
str
[
0
:
5
]
)
print
(
str
[
2
:
-
5
]
)
print
(
str
[
0
:
]
)
print
(
str
[
0
:
-
1
]
)
# 字符串拼接
print
(
str
+
'----test'
)
print
(
str
*
2
)
6
12345
3456789abcd
123456789abcdefghi
123456789abcdefgh
123456789abcdefghi----test
123456789abcdefghi123456789abcdefghi
# 字符串轉義
print
(
'sadfasdf\nadf\nta\tsd'
)
sadfasdf
adf
ta sd
# 字符串換行
str1
=
'asdfdsafs\
n12321321\
t12321312'
print
(
str1
)
print
(
'\n'
)
str2
=
'''aafasdfsdafsd
123123123123
&*(&(&(())))'''
print
(
str2
)
asdfdsafsn12321321t12321312
aafasdfsdafsd
123123123123
&*(&(&(())))
# 字符串替換 字符串是不可變變量,如下替換方法報錯
str
=
'abcd1234abcd1234'
str
[
2
]
=
'F'
str
[
2
:
3
]
=
'Fs'
TypeError Traceback (most recent call last)
in ()
1 # 字符串替換 字符串是不可變變量,如下替換方法報錯
2 str = ‘abcd1234abcd1234’
----> 3 str[2] = ‘F’
4 str[2:3] = ‘Fs’
TypeError: ‘str’ object does not support item assignment
1.2.1 String – replace
- replace 三個參數其中第三個參數可選, 表示從做到右替換多少個字符
- 默認情況下, 替換所有字符
str
=
'this is a test'
print
(
str
.
replace
(
'i'
,
'I'
,
1
)
)
thIs is a test
1.2.2 格式化輸出
print
(
"我叫 %s 今年 %d 歲!"
%
(
'小明'
,
10
)
)
我叫 小明 今年 10 歲!
1.3 集合 List
-
List的一些操作與String基本相同但是集合是可變的
-
在替換集合中的元素的時候可以使用索引的方式直接替換
-
行集合替換時, 先刪除該位置上的元素,再將要替換的值插入該位置上。
-
換目標為一個集合, 接將值插入該位置后
-
換目標為一個元素,則直接進行類型替換
list
=
[
'abcd'
,
786
,
2.23
,
'runoob'
,
70.2
]
tinylist
=
[
123
,
'runoob'
]
print
(
list
)
# 輸出完整列表
print
(
list
[
0
]
)
# 輸出列表第一個元素
print
(
list
[
1
:
3
]
)
# 從第二個開始輸出到第三個元素
print
(
list
[
2
:
]
)
# 輸出從第三個元素開始的所有元素
print
(
tinylist
*
2
)
# 輸出兩次列表
print
(
list
+
tinylist
)
# 連接列表
[‘abcd’, 786, 2.23, ‘runoob’, 70.2]
abcd
[786, 2.23]
[2.23, ‘runoob’, 70.2]
[123, ‘runoob’, 123, ‘runoob’]
[‘abcd’, 786, 2.23, ‘runoob’, 70.2, 123, ‘runoob’]
# 集合元素替換
list
[
1
:
2
]
=
[
121
,
'AAAAAA'
]
print
(
list
)
list
[
1
]
=
[
0
,
1
]
print
(
list
)
[‘abcd’, 121, ‘AAAAAA’, 2.23, ‘runoob’, 70.2]
[‘abcd’, [0, 1], ‘AAAAAA’, 2.23, ‘runoob’, 70.2]
- 進行集合截取時,可輸入第三個參數即步長
# 集合截取
list
=
[
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
0
]
print
(
list
[
0
:
10
:
2
]
)
# 負向截取
print
(
list
[
-
1
:
:
-
1
]
)
[1, 3, 5, 7, 9]
[0, 9, 8, 7, 6, 5, 4, 3, 2, 1]
1.4 Tuple–元組
- 元組中的元素不能修改,元組寫在小括號里
- 當只有一個元素在元組中時,需要在該元素后加逗號,否則類型不是元組類型
tuple
=
(
'abcd'
,
786
,
2.23
,
'runoob'
,
70.2
)
tup1
=
(
20
)
# 一個元素,需要在元素后添加逗號
print
(
type
(
tup1
)
)
tup2
=
(
20
,
)
print
(
type
(
tup2
)
)
1.5 Set–集合
注意:
可以使用大括號 { } 或者 set() 函數創建集合,注意:創建一個空集合必須用 set() 而不是 { },因為 { } 是用來創建一個空字典。
student
=
{
'Tom'
,
'Jim'
,
'Mary'
,
'Tom'
,
'Jack'
,
'Rose'
}
print
(
student
)
# 輸出集合,重復的元素被自動去掉
# 成員測試
if
'Rose'
in
student
:
print
(
'Rose 在集合中'
)
else
:
print
(
'Rose 不在集合中'
)
# set可以進行集合運算
a
=
set
(
'abracadabra'
)
b
=
set
(
'alacazam'
)
print
(
a
)
print
(
a
-
b
)
# a 和 b 的差集
print
(
a
|
b
)
# a 和 b 的并集
print
(
a
&
b
)
# a 和 b 的交集
print
(
a
^
b
)
# a 和 b 中不同時存在的元素
{‘Rose’, ‘Jack’, ‘Mary’, ‘Tom’, ‘Jim’}
Rose 在集合中
{‘b’, ‘d’, ‘c’, ‘r’, ‘a’}
{‘b’, ‘d’, ‘r’}
{‘c’, ‘z’, ‘b’, ‘d’, ‘l’, ‘r’, ‘m’, ‘a’}
{‘c’, ‘a’}
{‘z’, ‘b’, ‘d’, ‘l’, ‘r’, ‘m’}
1.6 字典 – dictionary
- 空字典使用{}, 空Set使用Set()
# 創建字典對象的方法
dict1
=
{
'name'
:
'runoob'
,
'code'
:
1
,
'site'
:
'www.runoob.com'
}
dict2
=
dict
(
[
(
'Runoob'
,
1
)
,
(
'Google'
,
2
)
,
(
'Taobao'
,
3
)
]
)
dict3
=
dict
(
Runoob
=
1
,
Google
=
2
,
Taobao
=
3
)
print
(
dict1
)
print
(
dict2
)
print
(
dict3
)
{‘name’: ‘runoob’, ‘code’: 1, ‘site’: ‘www.runoob.com’}
{‘Google’: 2, ‘Runoob’: 1, ‘Taobao’: 3}
{‘Google’: 2, ‘Runoob’: 1, ‘Taobao’: 3}
END 小技巧
- 使用type() isinstance()查看數據類型
a
=
13
b
=
'ASDS'
print
(
type
(
a
)
,
type
(
b
)
)
isinstance
(
111
,
int
)
True
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

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