1. 程式人生 > 其它 >python學習之路:四.資料型別

python學習之路:四.資料型別

一.字串str

作用:一般記錄描述性性質的資料,比如name,age,gender

如何定義字串:

    方式1:
      name=‘xm’
    方式2:
      name="xm"
    方式3:
      name='''xm'''
    方式4:
      name="""xm"""

二.列表list

作用:可以存放多個數據,並且方便取出。

定義:使用中括號把資料括起來,並用逗號當做分隔符。

name_list = ['ly', 'jason', 'tom', 'qq', 'kevin']
print(type(name_list))
print(name_list)

# 列表取值需要使用索引取值(索引取值從0開始)
print(name_list[1])
print(name_list[3])
print(name_list[0])

三.元組tuple

作用:和列表一樣,可以存放多個數據,方便取出(不同之處在於元組內的元素不可變)

定義:小括號括起來,裡面可以存放多個元素,元素與元素之間使用逗號隔開。

t = (1, 2, 3, 4)

四.字典dict

定義:字典就是用花括號將資料括起來,裡面可以存放多個數據,資料之間用逗號隔開。

單個數據是由key與value構成。

key是具有對value描述性的功能。

value是真正的資料。

字典裡value可以是任意型別,但是key只能是字串。

 name = 'ly'
    d = {'name': 'ly', 'age': 18, 'gender': 'male'}
# 取值
# print(d[0])  # 字典不支援索引取值

# 字典取值需要藉助於K, 
print(d['name'])
print(d['age'])
print(d['gender'])

五.布林

作用:用來記錄真假兩種狀態

定義:

  True:表示真

  False:表示假

在python中,所有的資料型別都可以轉為布林值。

六.集合

作用:用於去重,集合運算

定義:集合是用大括號括起來,裡面可以存放多個元素,元素與元素之間使用逗號隔開,但是,資料形式不是K:V鍵值對。

    s = {1, 2, 3, 4}
print(s)

dict1 = {}  # <class 'dict'>
# 怎麼定義一個空集合
s1 = set()  # set
print(type(dict1))
print(type(s1))

七.與使用者互動

1. 輸入
    s = input('請輸入你要取款的金額:')
    '''input接受的資料會賦值給變數'''

    # input接收的資料型別全都是字串
    print(s, type(s))
2. 輸出
    print('hello world')
    # 輸出
    # print('hello', 'world', 111, 222)

    # print(123, end='$')
    # print(345)

    # 換行符
    print('哈哈哈哈哈哈\n423\n423\n4234')

八.格式化輸出

什麼是格式化輸出:

  把字串裡的一段內容替換後輸出,就是格式化輸出。

s = '親愛的%s你好!你%s月的話費是%s,餘額是%s'
# print(s % ('ly', 12, 1000, 9999999, 10))  # 多一個不行
print(s % ('ly', 12, 1000, 9999 ))  # 少一個不行
print(s % ('ly1', 10, 2000, 80000 ))  # 少一個不行
s = '親愛的%s你好!你%s月的話費是%s,餘額是%s' % ('ly1', 10, 2000, 80000 )

# 字串中只有一個%s的時候會怎麼樣?
s1 = 'hello%s'
# 如果只有一個佔位符, 那麼%後面可以不加括號
print(s1 % 'world')

# %s => 佔位符, 可以為所有的資料型別佔位置

# %d => 只能給數字型別佔位

s2 = 'my name is %s, my age is %08d'
print(s2 % ('ly', 111))
print(s2 % ('ly', 2))
print(s2 % ('ly', 666666))
print(s2 % ('ly', 9999999999999))

九.基本運算子

1. 算術運算子
+
-
*
/

a = 13
# print(a + 1)
# print(a - 1)
# print(a * 1)
# print(a / 1)

print(a // 4)  # 只要整數部分
print(a % 4)  # 只要餘數
print(3 ** 4)

2. 比較運算子
== 
!=
>
>=
<
<=

3. 增量賦值
x += 1  # x = x + 100
x -= 1
x *= 1
x /= 1
print(x)
4. 鏈式賦值
x = 10
y = x
z = y
print(x, y,z )

x = y = z = 10
print(x, y,z )

5. 交叉賦值

面試題: 如何交換兩個變數?
1. 藉助於第三個變數
tmp = m
m = n
n = tmp
print(m, n )


2. 解壓賦值
m, n = n, m
print(m, n)

x, y, z = 1, 2, 3
print(x)
print(y)
print(z)

6. 解壓賦值
name_list = ['ly', 'tom', 'jason', 'kevin', 'kevin', 'kevin', 'kevin', 'kevin']
# name1 = name_list[0]
# name2 = name_list[1]
# name3 = name_list[2]
# name4 = name_list[3]
# print(name1)
# print(name2)
# print(name3)
# print(name4)

# name1, name2, name3, name4, name5 = name_list # 元素個數必須與變數個數一模一樣
# name1, name2, name3, name4 = ['ly', 'tom', 'jason', 'kevin']
# print(name1)
# print(name2)
# print(name3)
# print(name4)

# 多餘的元素都賦值給了星號後面的變數,如果想取,通過星號後面的變數取值就行
name1, *x, name5 = name_list
print(name1)
print(x)
print(x[0])
print(name5)