1. 程式人生 > >基本的資料型別和內建方法01

基本的資料型別和內建方法01

整型

用途:一般用於定義整型,比如年齡,身份證號,QQ號

定義方式

age = 18    # age = int(18)

常用方法:數學計算,進位制轉換

print(bin(100))     # 十進位制轉二進位制
print(oct(100))     # 十進位制轉八進位制
print(hex(100))     # 十進位制轉十六進位制
print(int('1100100', 2))    # 十進位制轉換任何型別,int('需要轉換的十進位制數',型別)

有序or無序:無序

可變or不可變:不可變

值變id不變的是可變型別

值變id也變的是不可變型別

存一個值or多個值:存一個值

 

浮點型

用途:用於記錄小數,身高,體重,薪資等

 定義方式:

height = 1.0    # height = float(1.0)

常用方法:數學計算

型別總結:無序,不可變,存一個值

 

字串

用途:用於儲存一些描述性的資訊,愛好,名字,性別

定義方式:

# 1、單引號
s1 = '大象'
# 2、雙引號
s2 = "大象2"
# 3、三單引號/雙引號
s3 = '''大象3'''
s4 = """大象4"""
print(s1)
print(s2)
print(s3)
print(s4)
# 以上三種方式沒有任何區別,但不能混用
# 可以巢狀,比如內單外雙,內雙外單這樣的
s5 = '我喜歡"大象"'
print(s5)
# 字串前加一個小寫的r,代表轉義,轉義為字串
s6 = r"我喜歡'大象'1.234"
print(type(s6))

列印結果:
大象
大象2
大象3
大象4
我喜歡"大象"
<class 'str'>

優先掌握知識點***

1、索引取值(正向取、反向取),只能取不能存

s1 = 'hello world'
print(s1[1])    # 正向取字母e
print(s1[-10])  # 反向取字母e

列印結果:
e
e

2、索引切片:擷取字串中的一小段字串

s1 = 'hello world'
print(s1[2:5])
print(s1[4:])
print(s1[:5])
print(s1[0:-2:2])
print(s1[::-1])

列印結果:
llo
o world
hello
hlowr
dlrow olleh

3、成員運算:in,not in

s1 = 'hello world'
print('o'in s1)
print('o' not in s1)

列印結果:
True
False

4、strip:去除字串兩邊的空格,中間不算

  input無論接收的是什麼型別,一定返回字串

a1 = '******kang******'     # 只想取出kang
print(a1.strip("*"))
# strip()裡的符號可以自定義

列印結果:
kang

5、split:切分

  作用:對字串進行切分,可以指定切分的分隔符,返回是一個列表

a1 = 'kang|18|male'
print(a1.split('|'))

列印結果:
['kang', '18', 'male']

6、len:獲取當前資料中的元素的個數

a = 'hello'
print(len(a))
for i in a:
    print(i)

列印結果:
5
h
e
l
l
o

需要掌握的知識點

7、restrip/lstrip

 restrip:去除右邊的空格/字元

 lestrip:去除左邊的空格/字元

a1 = '*******kang*******'
print(a1.rstrip('*'))
print(a1.lstrip('*'))

列印結果:
*******kang
kang*******

8、lower,upper

 lower:所有字元改成小寫

 upper:所有字元改成大寫

a1 = 'Kang'
print(a1.lower())
print(a1.upper())

列印結果:
kang
KANG

9、startswith/endswith  : 判斷當前字串是否以。。。開頭,或者以。。結尾,返回的一定是布林值

s1 = 'Hello world'
print(s1.startswith("He"))
print(s1.endswith('ld'))

列印結果:
True
True

10、.format/f-string

# 你的名字是:kang,你的年齡是:18
name = 'kang'
age = 21
print("你的名字是:", name, "你的年齡是,", age)
print("你的名字是:{},你的年齡是:{}".format(name, age))
print("你的名字是:{0},你的年齡是:{1}".format(name, age))
print("你的名字是:{name},你的年齡是:{age},性別是:{gender}".format(age=age, name=name, gender='male'))
# f-string:
# 通過大括號接收變數,在字串前面一定要加一個小寫f,,,,在python3.6以後才有
print(f"你的名字是:{name},你的年齡是:{age}")

列印結果:
你的名字是: kang 你的年齡是, 21
你的名字是:kang,你的年齡是:21
你的名字是:kang,你的年齡是:21
你的名字是:kang,你的年齡是:21,性別是:male
你的名字是:kang,你的年齡是:21

11、split,rsplit

s1 = 'name,age,gender'
print(s1.split(' , ', 1))   # 可指定切分次數

列印結果:
['name,age,gender']

12、join:將可迭代物件(l1列表中每個元素按照前面字串中的分隔符進行拼接)

l1 = ['kang', '21', 'male']
print('|'.join(l1))

列印結果:
kang|21|male

13、replace:將字串中的元素替換,引數先老值再新值

s1 = 'kang,21'
print(s1.replace('kang', 'zhao'))

列印結果:
zhao,21

14、isdigit:判斷當前字串中的資料是否為一個數字(可判斷bytes,unicode)

score = input('請輸入分數:')
if score.isdigit():
    score = int(score)
    if score >= 90:
        print('優秀')
else:
    print('你tmd能不能好好輸')

瞭解的知識點

find / rfind / index / rindex / count

# find:查詢當前字串中某個元素的位置,返回索引,找不到就返回-1
s1 = '你今天吃飯吃了嗎?'
print(s1.find("?", ))
# index  # 查詢當前字串中某個元素的位置,返回索引,找不到返回異常
print(s1.index("?"))
# count  # 統計當前字串中某一個元素的個數
print(s1.count("吃"))

列印結果:
8
8
2

center \ ljust \ rjust \ zfill

print("歡迎光臨".center(8,"-"))
print("歡迎光臨".ljust(30,"-"))
print("歡迎光臨".rjust(30,"-"))
print("歡迎光臨".zfill(50))
s1 = """
kang\t18\tmale\t
zhao\t18\tfemale\t
"""
print(s1.expandtabs())
print(s1.expandtabs(20))

列印結果:
--歡迎光臨--
歡迎光臨--------------------------
--------------------------歡迎光臨
0000000000000000000000000000000000000000000000歡迎光臨

kang    18      male    
zhao    18      female  


kang                18                  male                
zhao                18                  female  

is系列

a = b'10'
b = '10'
c = '十'
d = 'IV'
print(type(a))
print(b.isnumeric())
print(c.isnumeric())
print(d.isnumeric())
# isdigit: unicode,bytes
print(a.isdigit())
print(b.isdigit())

列印結果:
<class 'bytes'>
True
True
False
True
True

列表

用途:用於存一個或多個不同型別的值

定義方式:通過中括號存值,每個值之間通過都好進行分隔

常用方法:

1、索引取值(正反都可以取,不僅可取,還可以存)

l1 = [1, 2, 3, 4, 5, 6, 7]
print(l1[2])

列印結果:
3

2、索引切片

l1 = [1, 2, 3, 4, 5, 6, 7]
print(l1[2:5])
print(l1[4:])
print(l1[:5])
print(l1[0:-2:2])
print(l1[::-1])

列印結果:
[3, 4, 5]
[5, 6, 7]
[1, 2, 3, 4, 5]
[1, 3, 5]
[7, 6, 5, 4, 3, 2, 1]

3、append:追加值,只能新增到列表的最後,一次性只能新增一個值***

l1 = [1, 2, 3, 4, 5, 6, 7]
l1.append(1000)
print(l1)

列印結果:
[1, 2, 3, 4, 5, 6, 7, 1000]

4、insert:插入值,通過索引指定插入位置

l1 = [1, 2, 3, 4, 5, 6, 7]
l1.insert(3, 999)
print(l1)

列印結果:
[1, 2, 3, 999, 4, 5, 6, 7]

5、extend:追加必須是可迭代物件,在最後


l1 = [1, 2, 3, 4, 5, 6, 7]
l1.extend([8, 9])
print(l1)

列印結果:
[1, 2, 3, 4, 5, 6, 7, 8, 9]

6、remove:指定值刪除,比較徹底

l1 = [1, 2, 3, 4, 5, 6, 7]
l1.remove(1)
print(l1)

列印結果:
[2, 3, 4, 5, 6, 7]

7、pop:不傳值,預設從最後開始刪,指定索引刪,pop是有返回值的

l1 = [1, 2, 3, 4, 5, 6, 7]
val = l1.pop(2)
print(l1)
print(val)

列印結果:
[1, 2, 4, 5, 6, 7]
3

&n