Python-基本数据类型

基本数据类型
python中变量不需要声明,每个变量使用前必须赋值,变量赋值后该变量才会创建,且在python中变量没有类型,我们所说的类型是变量所指内存中对象的类型

一、可同时为多个变量赋值

a=b=c=1   #从后向前赋值,三个变量都指向同一个内存地址,可为多个对象指定多个变量
a,b,c="haha",2,3
print(a,b,c)

二、.标准数据类型
  不可变数据   Number(数字)、String(字符串)、Tuple(元组)
  可变数据     List(列表)、Set(集合)、Dictionary(字典)

1.Number(数字)  int、float、bool、complex
 a.可使用内置函数type()查看相应变量所指的对象类型,也可以使用isinstance()来判断
   二者区别:type()不会认为子类是一种父类类型,isinstance()会认为子类是一种父类类型。

a=1;  b=1.1;  c=True;  d=2+3j;
print(type(a),type(b),type(c),type(d))
print(isinstance(a,int))
结果:
#<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>
#True

b.bool值可以与数字相加

a=True;  b=2+a
print(a,b)
结果:
#True 

 c.当指定一个值时,Number对象就会被创建,可以使用del语句删除一些对象引用

a=3
del a
print(a)
#(报错)NameError: name 'a' is not defined

d.数值运算(+、-、*、/(除法,得到一个浮点数)、//(除法,得到一个整数)、%、**(计算乘方))

a=6;   b=4
print(a/b,end="   ")
print(a//b,end="   ")
print(b**2) #计算b的平方
结果:
#1.5   1   16

e.混合计算时会将整型转换为浮点型
2.String(字符串)

从左往右索引  0     1     2     3    4
             H     e     l     l    o
            -5    -4    -3    -2   -1   从右往左索引

str="Hello";   str1="World"
print(str[-1],end="   ")
print(str[4],end="   ")
print(str[1:3],end="   ")
print(str[-3:-1],end="   ")
print(str*3,end="   ")
print(str+" "+str1)
结果:
#o   o   el   ll   HelloHelloHello   Hello World

3.Tuple(元组)
a.元组写在小括号里,元素之间用逗号隔开,元组中元素类型可以不相同
b.元组可以被索引和切片,从左往右从0开始,从右往左从-1开始
c.元组可以使用'+'进行连接,使用'*'进行重复
d.注意元组中的元素不能修改
e.注意构造包含0或1个元素的元组的特殊语法规则
f.虽然元组的元素不可变,但是它可以包含可变的对象,如list列表

mytuple=(1,"hello",2,4,"world",6)
yourtuple=(20,)     #注意元组中只有一个元素的定义形式
hertuple=()         #注意元组中没有元素的定义形式(空元组)
print(mytuple)
print(mytuple[1:4])
print(mytuple[2])
print(mytuple+yourtuple)
print(mytuple*2)
#mytuple[0]=9       报错:TypeError: 'tuple' object does not support item assignment
    

运行结果:
(1, 'hello', 2, 4, 'world', 6)
('hello', 2, 4)
2
(1, 'hello', 2, 4, 'world', 6, 20)
(1, 'hello', 2, 4, 'world', 6, 1, 'hello', 2, 4, 'world', 6)

4.List(列表)(python中使用最频繁的数据类型)
a.列表中元素的类型可以不相同,支持数字、字符串以及列表
b.列表写在方括号之间,元素之间用逗号隔开
c.列表可以被索引和截取,从左往右从0开始,从右往左从-1开始,列表被截取后返回一个包含所需元素的新列表
d.列表可以使用'+'进行连接,使用'*'进行重复
e.列表中的元素可以改变

mylist=[1,"hello",2,4,"world",6]
yourlist=[20]
print(mylist)
print(mylist[2])
print(mylist[1:4])
print(mylist+yourlist)
print(yourlist*2)
mylist[0]=9
print(mylist)
mylist[1:3]=[2,3]
print(mylist)


运行结果:
[1, 'hello', 2, 4, 'world', 6]
2
['hello', 2, 4]
[1, 'hello', 2, 4, 'world', 6, 20]
[20, 20]
[9, 'hello', 2, 4, 'world', 6]
[9, 2, 3, 4, 'world', 6]

5.Set(集合)
a.无序不重复元素的序列,基本功能是进行成员关系测试和删除重复元素
b.可以使用大括号{}或者set()函数创建集合,但是创建一个空集合必须使用set()函数,{}是用来创建一个空字典
c.创建格式
  myset={value1,value2...}
  myset=set(value)

myset={"hello",1,"world",2,"cool",3}
print(myset)

if "hello" in myset:
   print("hello is in myset")
else:
   print("hello is not in myset")


a = set('abracadabra')
b = set('alacazam')
print(a,b)         #分别打印集合a,b的全部元素
print(a&b)         #取a,b交集
print(a|b)         #取a,b并集
print(a-b)         #取a,b差集
print(a^b)         #取a,b中不同时存在的元素


运行结果:
{1, 'world', 2, 3, 'hello', 'cool'}
hello is in myset
{'b', 'd', 'r', 'c', 'a'} {'m', 'l', 'z', 'c', 'a'}
{'c', 'a'}
{'m', 'b', 'd', 'l', 'r', 'z', 'c', 'a'}
{'r', 'b', 'd'}
{'m', 'r', 'b', 'z', 'd', 'l'}

 

6.Dictionary(字典)(python总有用内置数据类型)
a.字典中的元素是通过键来存取的,而不是通过偏移存取
b.字典用{}标识,是一个无序的键(key):值(value)对集合,其中键(key)必须使用不可变类型,且在同一个字典中键(key)必须是唯一的
c.构造函数dict()可以直接从键值对序列中构建字典     mydict=dict([("hello",1),("world",2),("haha",3)]);  print(mydict)
d.创建空字典使用{}

mydict={}       #定义一个空字典
mydict['one']="haha1"
mydict[2]="haha2"
yourdict={'me':1,'you':2,'his',3,'her',4}
print(mydict['one'],end="   ")
print(mydict[2])
print(yourdict)
print(yourdict.keys())       #打印yourdict字典中的键
print(yourdict.values())     #打印yourdict字典中的值


运行结果:
haha1   haha2
{'me': 1, 'you': 2, 'his': 3, 'her': 4}
dict_keys(['me', 'you', 'his', 'her'])
dict_values([1, 2, 3, 4])

 

三、数据类型之间的转换:只需将数据类型作为函数名即可,下面列举几个进行数据类型之间转换的常用的内置函数
a.  int(x,base)       将一个字符串或数字转换为整型,x为字符串或数字,base为进制数,默认为10,返回整型数据

 int()           #不传入参数时得到结果0
 int(3)          #结果  3
 int(3.6)        #结果  3
 int("12",16)    #结果  18
 int('0xa',16)   #结果  10
 int('10',8)     #结果  8

b.  float(x)          用于将整数和字符串转换为浮点数,返回浮点型数据   

float(1)        #结果  1.0
float(-123.6)   #结果  -123.6
float('123')    #结果  123.0

c.  complex(real,[imag])   
      ** 用于创建一个值为real+imag*j的复数或者转化一个字符串或数为复数。
      **如果第一个参数为字符串,则不需要指定第二个参数,此时字符串参数,需是一个能表示复数的字符串,而且加号或者减号左右不能出现空格。
      **当第一个参数为int或者float时,第二个参数可为空,表示虚部为0;如果提供第二个参数,第二个参数也需为int或者float。
      **参数说明:real(int、long、float或字符串),imag(int、long、float)

 complex(1,2)      #结果 (1+2j)
 complex(1)        #结果 (1+0j)
 complex("1")      #结果 (1+0j)    当作字符串处理
 complex("1+2j")   #注意此处在'+'两边不能有空格,否则会报错    结果 (1+2j)

d.  str(x)      将对象转换为适于人阅读的形式,返回一个对象的string格式
     

s='hello';  
print(str(s))      #结果   'hello'
s={'hello':'world','my':'girl'};   
print(str(s))    #结果   "{'hello':'world','my':'girl'}"

e.  repr(x)    将对象转化为供解释器读取的形式,返回一个对象的string格式

s='hello';  
print(repr(s))     #结果   "'hello'"
s={'hello':'world','my':'girl'};   
print(repr(s))     #结果     "'hello':'world','my':'girl'}"

f.  eval(x)   用来执行一个字符串表达式,并返回表达式的值

x=7;   
y=eval('3*x');   
print(y)                   #结果   21
print(eval('pow(2,2)'))    #结果   4
print(eval('2+2'))         #结果   4
n=84;    
print(eval('n+4'))         #结果   85

g.  tuple(s)    将列表转换为元组,返回一个元组

list1=['hello','world','my','girl']
tuple1=tuple(list1)
print(tuple1)         #结果    ('hello','world','my','girl')

h.  list(x)    将元组转换为列表,返回一个列表

 mytuple=(1,2,3,4,5,6)
 mylist=list(tuple)
 print(mylist)          #结果  [1,2,3,4,5,6]    
   
 mystr="hello world"
 mylist=list(mystr)
 print(mylist)          #结果  ['h','e','l','l','o',' ','w','o','r','l','d']

i.  set()     创建一个无序不重复元素集,可进行关系测试,删除重复数据,进行并集、交集、差集等,返回新的集合对象

x=set('hello');   
y=set('houhouhou')
print(x,y)
print(x&y)
print(x|y)
print(x-y)

j.  dict()    用于创建一个字典

mydict=dict()
print(mydict)       #结果    {}    空字典


      

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值