Python基础-基础数据类型

一、基础数据类型

1、数字类型

int 整数类型:

  • 整数类型与数学中整数的概念一致,整数类型共有4种进制表示:十进制,二进制,八进制,十六进制。默认情况下采用十进制,其他进制需要增加引导符号。

float 浮点型 :

  • 浮点数类型与数学中实数的概念一致,表示带有小数的数值。Python语言要求所有浮点数必须带有小数部分,小数部分可以是0,这种设计可以区分浮点数和整数类型。
  • float是不精确的,没有整数快。
    如:
s = 0.1 + 0.2
print(s)     # 0.30000000000000004 

complex 复数:

  • 复数类型在科学计算中十分常见,基于复数的运算属于数学的复变函数分支,该分支有效支撑众多科学和工程问题的数学表示和求解。python直接支持复数类型,为这类运算求解提供了便利。
  • python语言中,复数的虚数部分通过后缀’J’和’ j’来表示
    如:
s = 12.3+4j
print(‘s的类型是:’,type(a1)))    #  class'complex'

数字类型之间的转换

a = 8          print(type(a))  #  <class'int'>  
b = 5.1        print(type(b))  #  <class'claot'>  
c = "3"        print(type(b))  #  <class'str'>
d = 11.2 + 2j  print(type(b))  #  <class'complex'>

a1 = float(a)  print(type(a1))  #  <class'float'> 
b1 = int(b)    print(type(b1))  #  <class'int'> 
c1 = complex(c)  print(type(c1))  #  <class'complex'>
d1 = str(d)    print(type(d1))  #  <class'str'> 

2、bool 布尔值

只有两个值,True和False(判断用)对和错

a = 2              print(bool(a))  # True
b = 3.14           print(bool(b))  # True
c = "2"            print(bool(c))  # True
d = 0              print(bool(d))  # False
e = ""             print(bool(e))  # False

布尔值为False的数:

  1. None,False (注意,这两个不要加引号,加上引号为字符串,会输出为True)
  2. 所有值为0的数,包括:0(整数),0.0(浮点数),0.0+0.0j(复数)
  3. “”(空字符串)
  4. [] (空的列表)
  5. {} (空的字典)
  6. () (空的元祖)

3、Str 字符串

简述:

  • 字符串是字符的序列表示,可以由一对单引号(’),双引号(“)或三引号(’’’)构成。

  • 其中单引号和双引号都可以表示单行字符串,两者作用相同。使用单引号时,双引号可以作为字符串的一部分,反之亦然。

  • 三引号可以表示单行或多行字符串。

常用功能:

​ a、移除空白:strip() (经常用)

​ b、分割:split() (经常用)

​ c、长度:len()

​ d、索引:s[0],s[1]…

​ s、切片:s[0:2]

​ e、拼接:join

如:

s = "hello,TZ"
print(len(s))    # 8    长度
a1 = s[4]        # o    索引
a2 = s[2:4]      # ll   切片 (左闭右开 最后一位取不到)
a3 = s[-2]       # T    反向索引
a4 = s[-6:-3]    # llo  反向切片
b1 = s[::2]      # hlor 步长(第三个参数是步长)

s = " hello,TZ "
s.strip()        # hello,TZ 移除空格
s.lstrip()       # hello,TZ 移除左边空格
s.rstrip()       # hello,TZ移除右边空格

s = "=hello,TZ="  
s.strip("=")     # hello,TZ 移除指定字符

s = "hello,TZ"  
s.split(",")     # ['hello','TZ'] 分割(传一个参数)
s.split()        # ['hello,TZ'] 不传参数,整个字符串当做列表一个项
s.split("l",1)   # ['he','lo,TZ]第一个是切割字符,第二个是切割次数
s.split("l",2)   #['he','','o,TZ']

s = ['hello' , 'python' ,'!']
s1 = a[0] +" "+ a[1] +" " +a[2] # hello pethon !  索引相加
s2 = " ".join(s)     # hello pethon !   拼接最简单方法python自带

4、list [ ] 列表

​ 有序的可变的元素集合(字符串,数字,列表,布尔值)

​ 例:a = [1,“a”,[ ],True]

常用功能:

  • 索引:通过位置去取字符
L = ["a","b","c"]

print(L[0])      #a
print(L[1])      #b
print(L[2])      #c

index: 通过字符去取位置,字符串相同

L = ["a","b","c","b"]

print(L.index["a"])      #0
print(L.index["b"])      #1
print(L.index["c"])      #2
print(L.index["b", 2])   #3  有2个相同值从第2个字符开始取值
  • 长度 len():
L = ["a","b","c","b"]

print(len(L))             #4

count:元素的个数,字符串相同

L = ["a","b","c","b"]

print(L.count("b"))        #2
  • 切片 : 包头不包尾
L = ["a","b","c","b"]

print(L[:2])              #["a","b"]
print(L[:-1])             #["a","b","c"]
print(L[-3:-1])	          #["b","c"]
print(L[::-1])			  #["b","c","b","a"]

sort: 排序

L = ["a","b","c","b"]

L.sort()                  #["a","b","b","c"]   正序
L.sort(reverse=True)      #["c","b","b","a"]   倒序(按顺序)
L.reverse()               #["b","c","b","a"]   倒序
  • 增 append() ,extend() ,insert()
L = ["a","b","c"]

L.append("d")             #["a","b","c","d"]  添加一个
L1 = [1,2,3]
L.extend(L1)              #["a","b","c",1,2,3] 批量添加
                          #  都是默认添加到最后一位

L.insert(2, "d")          #['a', 'b', 'd', 'c']指定插入位置
                          # 前一个表示插入位置,后一个表示插入字符    
  • 删 pop(),remove(),del(),clear()
L = ["a","b","c"]

a = L.pop()                #c         接收删除的元素  
L.pop()                    #["a","b"] 删除最后一个元素
L.remove("a")              #["b","c"] 删除第一个指定元素
del(L[1])                  #["a","c"] 删除指定索引元素python自带
L.clear()                  #[]        删除全部
  • 包含 in :元素是否存在于列表
L = ["a","b","c"]
s1 = "c"
s2 = "d"

s1 in L                     #True    L存在于列表
s2 in L                     #False   L没有存在于列表

5、tuple () 元组

​ 有序的不可变的元素集合(字符串,数字,列表,布尔值,元组)

​ 例:a = (1,"a",[],True,['a','b'])

​ 但是元组中有可变的元素时 里面可变的元素可以改变

​ 例:a = (1, 2, [3, 4]) [3, 4]可变
元组的常用功能和列表是一样的

6、dict {} 字典

简介:

  • 字典是由键值对构成(key、value)的无序集合(不像字符串、列表和元祖那样有固定的位置)。

  • 键(key)的数据类型一般为数字或字符串,且必须是唯一的,不能重复

  • 值(value)可以是任意数据类型。

如:

b = {
    1: 2,                           #key:数字 value:数字
    2:'hello',                      #key:数字 value:字符串
    'k1': 'v1',                     #key:字符串 value:字符串
    'k2': [1,2,3],                  #key:字符串 value:列表
    ('k3',):('a', 'b'),             #key:元组 value:元组
    'k4': {                         #key:字符串 value:字典
        'name': ["院庆”,“金立”], 
        ‘age': 18
    }
}

dict常用功能:

  • 获取值:
D = {
    'K1'= 'v1'
    'k2'= 'v2'
    'k3'= 'v3'
}

print(len(D))      #3     长度
print(D.items())    #([('k1', 'v1'),('k2','v2'),('k3','v3')])
                   # 拿到字典里所有的元组
print(D.keys())    #(['k1','k2','k3']) 拿到所有的键key
print(D.valuse())  #(['v1','v2','v3']) 拿到所有的值value
# 通过key取value  
print(D['k2'])      #v2
#  get获取
print(D.get('k3'))  #v3
print(d.get('k4'))  #None   没有K4所以获取的是空的
print(d.get('k4',‘falsel)) #false  但是可以修改默认值 来达到目的
  • 增加:setdefault()
print(D.setdefault('k3'))  #v3
print(D.setdefault('k4'))  #None 没有K4就是空
print(D)              # {'k1':'v1','k2':'v2','k2':'v3':None}     改变字典同时增加None
print(D.setdefault('k5', 'v5'))  #v5 
                                #  获取V5并在字典中增加'k5':'v5'
print(D)  #{'k1':'v1','k2':'v2','k2':'v3':None,'k5':'v5'}         
  • 修改
D['k2']= 'v8'         # 替换                                
       				 # {'k1':'v1','k2':'v8','k2':'v3':None,'k5':'v5'}
D['k6']= 'v6'        # 增加
 					 # {'k1':'v1','k2':'v8','k2':'v3':None,'k5':'v5',‘k6':'v6'}
  • 删除
# pop(k):获取并在字典中删除指定的key值
a = D.pop('k5')
print(a)    #v5
print(D)    #{'k1':'v1','k2':'v8','k2':'v3':None,‘k6':'v6'}

# popitem():获取并在字典中删除最后一项
b = D.popitem()
print(b)    #(’k6','v6')
print(D)    #{'k1':'v1','k2':'v8','k2':'v3':None}

#  clear():  删除字典内所有
D.clear()
print(D)    #{}

7、set {} 集合

简介:
不同元素组成,无序的,不可变的。元素类型同列表,元素可以使用任何数据类型。
如:

d = {}  #空字典
s = set() #空集合
s1 = {1, 2, 3, 4}
print(type(s))    #class 'set'
print(type(s1))   #class 'set'

set常用功能:

  • 添加 add() update()
s = {1, 2, 3, 4}
s.add("hello")   # {'hello', 1, 2, 3, 4}   无序的添加
s.update("hello") # {1, 2, 3, 4, 'l', 'h', 'e', 'o'} 
                    # 无序的把添加内容拆分成一个个字符
  • 删除 remove() pop() discard()
s = {1, 2, 3, 4, 'l', 'h', 'e', 'o'}
s.remove(2)  # {1, 3, 4, 'l', 'h', 'e', 'o'} 如果有就删没有会报错
s.pop()      # {2, 3, 4, 'e', 'o', 'h', 'l'} 随机删除,没有会报错
s.discard(5) # {2, 3, 4, 'e', 'o', 'h', 'l'} 如果有就删没有不会   报错不做任何操作
  • 交集 & :两个集合的共同部分
s1 = {1, 2, 3, 4, 8, 9}
s2 = {5, 6, 7, 8, 9}
s3 = s1 & s2           #{8, 9}
  • 并集 | :由所有属于集合A或者属于集合B的元素组成的集合
s1 = {1, 2, 3, 4, 8, 9}
s2 = {5, 6, 7, 8, 9}
s4 = s1 | s2    #{1, 2, 3, 4, 5, 6, 7, 8, 9} 相同部分只保留一份
  • 差集 - :由所有属于前集合,不属于后面集合的元素组成的集合
s1 = {1, 2, 3, 4, 8, 9}
s2 = {5, 6, 7, 8, 9}
s5 = s1 - s2   #{1, 2, 3, 4,}
  • 相对差集 ^ :由所有只属于A和只属于集合B的元素(除了集合外的元素)
s1 = {1, 2, 3, 4, 8, 9}
s2 = {5, 6, 7, 8, 9}
s6 = s1 ^ s2    #{1, 2, 3, 4, 5, 6, 7,}
  • 去重
s = [1, 2, 3, 4, 5, 6, 7, 8, 9, 5, 6, 8, 4, 2, 5]
s1 = set(s)          # 列表转集合自动取重复
print(s1)            #{1, 2, 3, 4, 5, 6, 7, 8, 9,}
print(type(s1))      #class'set'   
print(type(list(s1)))#class'list'   集合转列表

s = (1, 2, 3, 4, 5, 6, 7, 8, 9, 5, 6, 8, 4, 2, 5)
s1 = set(s)           # 元组转集合自动去重复
print(s1)             #{1, 2, 3, 4, 5, 6, 7, 8, 9,}
print(type(tuple(s1)))#集合转元组
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值