Python基本数据类型

基本数据类型

python里有6种基本类型,三种为可变类型,三种为不可变类型
不可变类型:一旦创建在内存中就无法修改,之后对他的所有操作是产生一个新的值


目录

基本数据类型

1、数字型(不可变数据类型)

2、字符串型(不可变数据类型)

3、列表

4、元组(不可变数据类型)

5、字典

6、集合


1、数字型(不可变数据类型)

int    整型
float    浮点型
complex    复数类型

(1)、运算符

+、-、*、/、%等基本运算符
**   次方运算
//    取整运算
python中没有自增自减运算符,只有a = a + 1 或 a+=1

(2)、基本内置函数

abs()       #取绝对值函数
max min     #求最大最小值
pow(a,b)    #a的b次方
round(a,n)  #对a四舍五入,保留到第n位小数


其他的一些函数封装在math模块中,需要导入模块 import math,模块名.函数名使用函数
 

ceil()    #向上取整
floor()   #向下取整
sqrt()    #得到算术平方根
math.PI   #常量PI


三角函数

sin()     
cos()     
tan()


随机数函数,封装在random里
 

randint(1,10)    #生成1-10之间的数
random()         #生成0-1之间的数

 

 

 

 

2、字符串型(不可变数据类型)

 只要是引号(单引号,双引号)括起来的都是字符串,没有字符这个概念。

 (1)、索引

a = 'hello'    #定义字符串
               #其中括号里为索引值
               #从左至右范围为0-4,从右至左范围为(-1)-(-5)
print(a[1])    #结果为e

 (2)、切片

print(a[1:4])  #从左往右索引切片的使用,结果为ell
print(a[-3,-1])#从右往左索引切片的使用,结果为ll
               # 例:a[x,y],取值为x-(y-1),顾头不顾尾
               # 例:a[:3],从头开始取;a[3:],取到最后;a[:],从头取到尾               
               # 例:a[x,y,z],从x取到y,取(x,x+z,x+2z...),z默认为1
               # 例:a[::2]取值为hlo
               # 例:a[::-2],z为d负数时,从右往左取,结果为olh(420)
               # 例:a[1:-1:-1]->不打印   a[-1:1:-2]->ol
               # 例:a[:3:-1]->o    a[3::-1]->lleh

(3)、字符串的内置函数

upper() #转换字符串为大写
lower() #转换字符串为小写
capitalize() #转换首字母为大写
index("子字符串") #找对应子字符串的位置,没找到会报错
find("子字符串") #找对应子字符串的位置,没找到打印-1
split("分隔符") #分割字符串
"连接符".join(字符串) #待连接的字符
len() #计算长度
 
islower() #判断字符串是否全为小写,返回布尔值
isupper() #判断是否全为大写
isalnum() #判断字符串是否只有数字或字母
isalpah() #判断字符串是否全为字母
isdigit() #判断字符串是否全为数字
isspace() #判断字符串是否全为空格

3、列表

(1)、列表的创建

a = []   #列表的个数是任意的,里面的数据也是任意类型
a = [元素1,元素2......]     #例: a = ['1','2','hello','[1,2]']

 (2)、列表的访问

    # -5 -4 -3 -2- 1
    a=[1 ,2 ,3 ,4 ,5]   //通过索引  a[索引值]
    #  0  1  2  3  4    

#通过in判断一个元素是否在列表中,返回true或false

if name in list:
    print(name);
else:
    print(“not in”);

#not in判断一个元素是否不在列表中,返回true或false
#列表名.count(元素) :计算该元素在列表中出现的次数,返回次数
#列表名.index(元素) :返回该元素第一次出现的位置

(3)、列表元素的修改 

a[索引值] = '新的值'

(4)、添加元素

列表名.append(待添加的值)  #尾部添加
列表名.insert(待插入的位置,待插入的内容)
列表名.extend(待插入的列表元素)   #插入一个列表中的所有元素,不是把列表作为元素插入

(5)、删除元素

列表.pop() #就是删除列表的最后一个元素 -> 有返回值,就是会返回要删除的值
列表.pop(索引号) #就是删除该索引号的元素
del 列表名[下标]   
列表名.remove("列表内容")
列表名.clear()  #将列表清空

(6)、其他方法

列表.sort() #对列表排序,同类型进行排序
列表.sort(reverse=false) #reserve默认为false,对列表从小到大排序
列表.sort(reverse=True)  #reserve默认为false,对列表从大到小排序
列表.reverse() #颠倒列表

(7)、列表的嵌套

#格式:[ [ ],[ ],[ ]...]

#例:访问‘o’元素:
python_class = [1,2,3]
java_class = ['1','2','3']
c_class = ['o','t','t']
all_class = [python_class,java_class,c_class]
print(all_class[2][0])

 

4、元组(不可变数据类型)

(1)、元组的创建

元组名 = ();元组名 = tuple() #函数创建元组
元组名 = (元素,元素,...) #元组存储的数据类型:字符串、数字、列表、元组等
#当元组只有一个元素的时候,必须在第一个元素后面加上‘,’

 (2)、元组的访问

#元组的访问和list列表的操作是一样的(通过索引)

        tup = (1,2,3,4,5)
        print(tup[1]) //输出2

#元组切片的使用与list列表操作是一样的

        tup = (1,2,3,4,5)
        print(tup[:]) //输出(1,2,3,4,5)

(3)、元组的拆包

#使用*拆包

name = ("a","b","c")
print(*name)//输出 a b c

one,two,three = name
print(one,two,three)//输出 a b c

 (4)、元组的基本操作

查操作与列表相同,但是不能增删改,因为元组的不可变数据类型

5、字典

(1)、字典的创建

#用一对{}创建空字典
#用字典函数dict()函数创建空字典

        dict1 = {}#或者 dict1 = dict()
        print(dict1,type(dict1))#输出{} <class 'dict'>

#在创建多个元素的字典时,元素与元素用“,”隔开

        a = {1:1234,2:"hahaa"}
        print(a) #输出{1: 1234, 2: 'hahaa'}

(2)、字典的存储

#字典的元素是‘键值对’(key:value) ‘键值对’必须要成对
#key:只能是不可变数据类型(字符串,元组,数字)
#value:可以为任意数据类型

            a = {("1"):1234}
            print(a)  #输出{'1': 1234}
            a = {1:1234}
            print(a)  #输出{1: 1234}
            a = {("1",):1234}
            print(a)  #输出{('1',): 1234}

 (3)、字典的基本操作

#字典的访问
    #字典名[key] 访问元素的值

            a = {1:1234,(1,):"hahaa"}
            i = a[1]
            print(i)   #输出1234
            i = a[(1,)]
            print(i)   #输出hahaa

    #访问字典中不存在的key会报错,但是使用 字典名.get() 方法获取则不会报错,同时可以使用该方法赋予一个不存在的key的值,但不会向原字典添加值

            a = {"name":"hahaa","sex":'man',"name":'xixii'}
            print(a.get("type"))  #输出None
            print(a.get("type",11))  #输出11
            print(a)  #输出{'sex': 'man', 'name': 'xixii'}

#增加:字典名[key] = value

        info = {'name':'hahaa'}
        info['address'] = 'HB'
        print(info)  #输出{'address': 'HB', 'name': 'hahaa'}
        
#删
    #del 字典名[key]
    #字典名.clear(); ->清空字典
    
            info = {'name':'hahaa'}
            info['address'] = 'HB'  #此时字典内容{'name': 'hahaa', 'address': 'HB'}
            del info['name']
            print(info)  #输出{'address': 'HB'}
            info.clear()
            print(info)  #输出{}

#改 :字典名[key] = 新的value

        info = {'name':'hahaa'}
        info['name'] = 'xixii'
        print(info)  #输出{'name': 'xixii'}

(4)、其他操作

#len(字典名),测量字典‘键值对’的个数
#字典名.keys(),返回一个只包含字典中所有key的列表

        info = {'name':'hahaa'}
        info['address'] = 'HB'
        print(info.keys())  #输出dict_keys(['name', 'address'])

#字典名.values(),返回一个只包含字典中所有value的列表

        print(info.values())  #输出dict_values(['hahaa', 'HB'])

#字典名.items(),返回一个包含所有键值对的元组(key,value)列表

        print(info.items())  #输出dict_items([('name', 'hahaa'), ('address', 'HB')])

 (5)、字典的遍历

        info = {'name':'hahaa'}
        info['address'] = 'HB'
        for i in info.values():
            print(i)  #输出hahaa HB
        for i in info.keys():
            print(i)  #输出name address
        for i in info.items():
            print(i)  #输出('name', 'hahaa') ('address', 'HB')
        for key,value in info.items():  #元组的拆包赋值
            print(key,value)  #输出name hahaa address HB
        for i in info.items():   #下标赋值
            print(i[0],i[1])  #输出name hahaa address HB

(6)、字典注意事项

#元素的key必须唯一,值value可以不唯一,一旦后面的元素的key与前面的元素相同时,他会完全覆盖前面相同key的元素

        a = {"name":"hahaa","sex":'man',"name":'xixii'}
        print(a) #输出{'name': 'xixii', 'sex': 'man'}

#字典是无序的

        a = {"sex":'man',"name":'xixii'}
        print(a) #输出{'name': 'xixii', 'sex': 'man'}或{‘sex’:'man',‘name’:'xixii'}

 

6、集合

可变数据类型,可以存储任意数据,且元素不可重复

在python中定义聚合有且只有一种方法,使用系统函数set()创建

a = set()
#非常规创建
b = {1,2,3,4,5}

集合的基本操作与列表几乎一样

(1)、格式化输出

①、format()

name = "李白"
job = "刺客"
print("{}他是{}".format(name,job)) #输出李白他是刺客     顺序传值
print("{name}他是{job}".format(name=name,job=job)) #输出李白他是刺客    键传值

②、format()的高级使用

#使用精度
{:.2f}.format(3.1415) #3.14
#千位w分隔符
{:,}.format(1000) #1,000

③、%占位

#s 表示字符串
#d 表示整型
#f 表示浮点    0.1f一位小数    0.2f两位小数
name ='MDZZ'
age = 18
sal = 200.5555
print("他叫%s今年%d岁,工资%.2f"%(name,age,sal))
#输出他叫MDZZ今年18岁,工资200.56

④、当数据只有一个的时候,直接给或者元组给。多数据的时候,必须给元组。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值