1. 程式人生 > >python數據類型及其詳解

python數據類型及其詳解

刪除指定元素 format 及其 切分 無序 這樣的 pen 三引號 合並

一、數據類型介紹

1.字符串(string)

三種類型:單引號,雙引號,三引號

a = ‘jam‘
b = "JamHsiao"
c = ‘‘‘JAMHSIAO‘‘‘
print(type(a),type(b),type(c))

註意:字符串只能與字符串相加

a = ‘Jam‘
b = "Hsiao"
print(a+b)

2.整型(int)

a = 30
print(type(a))

3.浮點型(float)

a = 30.0
print(type(a))  

4.元組(tuple)裏面可以是任意數據類型

t1 = (1,2,[1,2],(1,2,3))
print(type(t1))  

5.列表(list)裏面同元組一樣,可以是任意數據類型

l1 = [1,2,[1,2],(1,2,3)]
print(type(l1))

6.字典(dict)在記錄一個人的姓名、身高、年齡等的時候使用,以關鍵字和數值組合的類型

info = {‘name‘:‘蕭敬騰‘,    #每行結束必須有‘,‘,key和walue之間用‘:‘連接
        ‘age‘:32,
        ‘high‘:171
}
print(type(info))

7.集合(set)l裏面可以是出列表之外的任意數據類型

s1 = {1,2,‘h‘,‘a‘,(1,2,3)}
print(type(info))

8.布爾(bool)

print(type(True))
print(type(False))

二、數據類型詳解

1.字符串詳解

  1.1isupper:判斷字符串是否是大寫

str1=‘HELLO,WORLD‘
print(str1.isupper())

  1.2islower:判斷字符串是否是小寫

str1=‘hello,world‘
print(str1.islower())

  1.3isspace:判斷字符串是否是純空格

str1=‘  ‘
print(str1.isspace()) 

  1.4isdigit:判斷字符串是否是整型

str1=‘330‘
print(str1.isdigit())

  1.5isalnum:判斷字符串是否是數字或字母(不能有特殊字符)

str1=‘jamhsiao0330‘
print(str1.isalnum()) 

  1.6isalpha:判斷字符串是否是純字母(不能有特殊字符)

str1=‘jamhsiao‘
print(str1.isalpha())

  1.7istitle:判斷字符串是否是擡頭(標題)

str1=‘Hello,World‘
print(str1.istitle())

  1.8title:把字符串變成擡頭(標題)

str1=‘hello,world‘
print(str1.title())

  1.9upper:把字符串變成大寫

str1=‘hello,world‘
print(str1.upper())

  1.10lower:把字符串變成小寫

str1=‘HELLO,WORLD‘
print(str1.lower())

  1.11startswith:判斷開頭是否是‘He‘

str1=‘Hello,World‘
print(str1.startswith(‘He‘))

  1.12endswith:判斷結尾是否是‘ld‘

str1=‘Hello,World‘
print(str1.endswith(‘ld‘))

  1.13index:取字符串的下標,如果沒有會報錯

str1=‘Hello,World‘
print(str1.index(‘l‘))
print(str1.index(‘a‘))

  1.14find:取字符串的下標,如果沒有會返回-1

str1=‘Hello,World‘
print(str1.find(‘l‘))
print(str1.find(‘a‘)) 

  1.15count:統計有多少個‘l‘這樣的字符

str1=‘Hello,World‘
print(str1.count(‘l‘))

  1.16replace:替換字符‘o‘為‘A‘,且只替換一次

str1=‘Hello,World‘
print(str1.replace(‘l‘,‘m‘,2))   #‘l‘表示原字符,‘m’表示替換字符,‘2’表示替換次數

  1.17join:把一個叠代對象(元組,列表,字符串,字典)替換成字符串 

str1=‘‘
str2=‘|‘
print(‘‘.join(‘jamhsiao‘))      #join前面的str1,str2表示分隔符
print(str2.join(‘jamhsiao‘))

  1.18split:把一個字符串從左到右切分成列表

str1=‘192.168.1.112‘
print(str1.split(‘.‘,2))   #.表示以.為分隔符,2表示分割2次

  1.19rsplit:把一個字符串從右往左切分成列表

str1=‘192.168.1.112‘
print(str1.rsplit(‘.‘,2))

  1.20strip:去除字符串左右兩邊的特殊字符

str1="=====hello,world====="
print(str1.strip(‘=‘))

  1.21rstrip:去除字符串右邊的特殊字符

str1="=====hello,world====="
print(str1.rstrip(‘=‘))

  1.22lstrip:去除字符串左邊的特殊字符

str1="=====hello,world====="
print(str1.lstrip(‘=‘))

  1.23format:格式化

str1=‘my name is {},my age is {}‘
print(str1.format(‘janhsiao‘,32))
str2="my name is {2},my age is {0}"
print(str2.format(32,‘‘,‘jamhsiao‘))
str3=‘‘‘my name is {name},my age is {age}‘‘‘
print(str3.format(name=‘jamhsiao‘,age=32))

  1.24%s,%d,%f格式化

str1=‘my name is %s,my age is %s‘
print(str1 % (‘jamhsiao‘,32))    #%前後有空格,表示分隔符

  1.25切片

str1=‘hello,world‘
print(str1[2])          #取下標為2的字符
print(str1[2:5])     #取下標2-4的字符,顧頭不顧尾
print(str1[2:])      #不包括2往左的字符都去除
print(str1[:2])      #包括2往右的字符都去除
print(str1[::2])     #每隔兩個字符取一次

  1.26拼接

str1=‘jam‘
str2=‘hsiao‘
print(str1+str2)

  1.27單引號,雙引號和三引號的任意切換

str1="it‘s a cute dog"
str1=‘‘‘"it‘s a cute dog"‘‘‘

2.列表詳解

  2.1sort:排序,數據類型要相同,按數字、字母、漢字進行排序

l1=[‘1‘,‘a‘,‘c‘,‘f‘,‘b‘,‘蕭敬騰‘,‘獅子‘,‘3‘,‘2‘]
l1.sort()
print(l1)

  2.2clear:清除,清空列表裏的所有元素

l1=[‘1‘,‘a‘,‘c‘,‘f‘,‘b‘,‘蕭敬騰‘,‘獅子‘,‘3‘,‘2‘]
l1.clear()
print(l1)

  2.3reverse倒序

l1=[‘1‘,‘a‘,‘c‘,‘f‘,‘b‘,‘蕭敬騰‘,‘獅子‘,‘3‘,‘2‘]
l1.reverse()
print(l1)

  2.4copy:復制一個列表

l1=[‘1‘,‘a‘,‘c‘,‘f‘,‘b‘,‘蕭敬騰‘,‘獅子‘,‘3‘,‘2‘]
print(l1.copy()) 

  2.5insert:在索引或下標為3的地方插入一個元素

l1=[‘1‘,‘a‘,‘c‘,‘f‘,‘b‘,‘蕭敬騰‘,‘獅子‘,‘3‘,‘2‘]
l1.insert(3,‘JAM‘)
print(l1) 

  2.6append:在列表最後添加一個元素

l1=[‘1‘,‘a‘,‘c‘,‘f‘,‘b‘,‘蕭敬騰‘,‘獅子‘,‘3‘,‘2‘]
l1.append(‘JAM‘)
print(l1)

  2.7extend:在列表中添加元組、列表中的單個元素(字典紙循環key)

l1=[‘蕭敬騰‘,‘獅子‘]
l1.extend(‘JAM‘)
l1.extend([8,9])
l1.extend((‘h‘,‘j‘))
l1.extend({‘name‘:‘teng‘,‘age‘:‘32‘})
print(l1)                  #[‘蕭敬騰‘, ‘獅子‘, ‘J‘, ‘A‘, ‘M‘, 8, 9, ‘h‘, ‘j‘, ‘name‘, ‘age‘

  2.8remove:刪除指定元素,一次只能刪除一個元素

l1=[‘蕭敬騰‘,‘獅子‘]
l1.remove(‘獅子‘)
print(l1)

  2.9pop:取出指定元素,原元素消失

l1=[‘蕭敬騰‘,‘獅子‘]
l1.pop(1)          #以下標或索引取
print(l1)

  2.10count:統計列表中‘1‘的個數

l1=[‘蕭敬騰‘,‘獅子‘,‘獅子‘]
print(l1.count(‘獅子‘))

  2.11index:獲取下標

l1=[‘jam‘,‘jamhsiao‘,‘hsiao‘]
print(l1.index(‘jam‘)  

  2.12切片

l1=[‘jam‘,‘jamhsiao‘,‘hsiao‘,‘a‘,‘b‘,‘1‘]
print(l1[3])
print(l1[1:3])
print(l1[2:])
print(l1[:2])
print(l1[::2]

  2.13利用下標改值

l1=[‘jam‘,‘jamhsiao‘,‘hsiao‘,‘a‘,‘b‘,‘1‘]
l1[3]=‘name‘
print(l1)

3.字典詳解

  3.1pop取出字典元素,原元素消失,通過key取value

info={‘name‘:‘蕭敬騰‘,
      ‘age‘:32,
      ‘high‘:171,
      ‘weigh‘:110
      }
print(info.pop(‘name‘))
print(info.pop(‘high‘))

  3.2clear:清空

info={‘name‘:‘蕭敬騰‘,
      ‘age‘:32,
      ‘high‘:171,
      ‘weigh‘:110
      }
info.clear()
print(info)

  3.3popitem:取出key_value,從最後一個取,一次只能取出一個,以元組的形式輸出

info={‘name‘:‘蕭敬騰‘,
      ‘age‘:32,
      ‘high‘:171,
      ‘weigh‘:110
      }
print(info.popitem())
print(info.popitem())

  3.4setdefault:設置默認值,沒有的情況下才會被應用,通過key判斷,而不是value

info={‘name‘:‘蕭敬騰‘,
      ‘age‘:32,
      ‘high‘:171,
      ‘weigh‘:110
      }
print(info.setdefault(‘name‘,‘jamhsiao‘))
print(info.setdefault(‘name1‘,‘jamhsiao‘))

  3.5values:列出所有的value

print(info.values())

  

  3.6keys:列出所有的key

print(info.keys())

  3.7items:列出所有的key_value,以元組的形式輸出

print(info.items())

  3.8update:合並,相同的替換,不同的原樣輸出

info={‘name‘:‘蕭敬騰‘,
      ‘age‘:32,
      ‘high‘:171,
      ‘weigh‘:110
      }
info1={‘name‘:‘jamhsiao‘,
       ‘age‘:32,
       ‘gender‘:‘handsome‘,
       ‘fav‘:‘music‘
       }
info.update(info1)
print(info)  

  3.9fromkeys:快速定義一個新的字典

print({}.fromkeys((‘name‘,‘age‘,‘gender‘,‘high‘,‘weigh‘),None))

  3.10get:取值,沒有輸出None,不能賦值

info1={‘name‘:‘jamhsiao‘,
       ‘age‘:32,
       ‘gender‘:‘handsome‘,
       ‘fav‘:‘music‘
       }
print(info1.get(‘name‘))
print(info1.get(‘hhh‘)

  3.11取值,沒有索引,可以賦值,沒有會報錯

info1={‘name‘:‘jamhsiao‘,
       ‘age‘:32,
       ‘gender‘:‘handsome‘,
       ‘fav‘:‘music‘
       }
print(info1[‘name‘])
info1[‘name‘]=‘蕭敬騰‘
print(info1)

4.元組詳解

大多數元組只能用來讀,不用來修改;在相同的元素下,列表占用的資源會比元組大,因為列表的功能大

  4.1有下標或索引

t1=(‘a‘,‘b‘,‘c‘,‘3‘,4,‘3‘)
print(t1.index(‘b‘))
print(t1.count(‘3‘))  

  4.2取值

t1=(‘a‘,‘b‘,‘c‘,‘3‘,4)
print(t1[3])
print(t1[2:3])
print(t1[:2])
print(t1[2:])
print(t1[::2])

5.集合詳解(不常用到)

集合特點:無序,不重復

  5.1pop隨機取出數據

s1={1,2,3,4,5,(1,2,3)}
print(s1.pop())

  5.2intersection:交集

s1={1,2,3,4,5,(1,2,3)}
s2={1,2,3,4,5,6,7,8,9}
print(s1.intersection(s2))

  5.3union並集

s1={1,2,3,4,5,(1,2,3)}
s2={1,2,3,4,5,6,7,8,9}
print(s1.union(s2))

  5.4difference差集(註意基準)

s1={1,2,3,4,5,(1,2,3)}
s2={1,2,3,4,5,6,7,8,9}
print(s1.difference(s2))        #以s2為基準
print(s2.difference(s1))        #以s1為基準

6.布爾詳解

0、None、空格都為假,其余都為真

a = 10
b = 20
print(a>b)
print(a<b)

a = ‘‘
if a:
    print(‘ok‘)
else:
    print(‘不ok‘)

a = 0
if a:
    print(‘ok‘)
else:
    print(‘不ok‘)

a = None
if a:
    print(‘ok‘)

else:
    print(‘不ok‘)

7.轉換

  7.1str轉換成字符串  

a = 330
print(str(a))
print(type(str(a)))

  7.2int轉換成整型

a = 330.30
print(int(a))
print(type(int(a)))

  7.3list截取為列表

s1={1,2,3,4,5,6,7} print(list(s1)) print(type(list(s1)))

  

python數據類型及其詳解