python基础数据类型

时间:2021-07-28 02:47:11
1.python是一门编程语言,是一门完全面向对象的编程语言
2.如果对语言进行分类,那么python是一门强类型,动态类型的语言
    (弱类型:比如int可以变成float,python中数值类型不可变;
    动态类型:编译时不知道变量类型,python中变量无类型)

1.数值类型

数值类型就是我们平常用来做计算的数字类型,在python中有如下几种数值类型

#整型 
int

#浮点型 
float

#布尔型 
bool

#复数型 (在python中用小写 j ,表示虚部,用其他的字母不行)
complex

数值类型主要是用来是做运算的,所以还会有如下的运算符

#数值运行常用运算符
+ - * / //(整除,向下取整) %(取余) ** (幂)

#赋值运算符   
=  +=  -=   *=  /=  ....

基本数值类型中前三种是常用的,复数在数学里面用得多,但是一般是用不上的。

2.序列类型

在python中三种序列类型,序列类型简单来说就是对象里面的元素是有顺序的。

字符串 str
列表   list
元组   tuple
可变序列:list
不可变序列:tuple,str

3.集合

创建:{} set([])  注意:创建空的集合要用set()
    特点:元素唯一,无序
    运算: & 交集  | 并集  - 差集
    方法: 
    s.add(x)     添加单个元素
    s.update()   添加多个元素,添加多个元素时,参数为可迭代  
    s.remove()   移除元素
    s.clear()    清空集合

4.字典

  创建: {key:value} (大括号创建字典的键时要加引号)# 这种方式创建时,只要一一对应即可
        dict(key=value) (括号里赋值方式,名字=对象,不要引号) #这种方式创建时,除了一一对应,还要保证key值符合变量命名规则
        字典里的键和值用‘:’隔开,一对键和值组成一个项,项和项之间用‘,’隔开
  特点:
    键唯一,重复会被重新复制
    无序
        
    添加和取值
        cidt[key]=value  key存在则修改值,没有则添加
    属性方法
    .update({ })  在字典中添加多个项
    
    .items()      返回字典的各个项
        
    .keys()       返回字典的键
        
    .values()     返回字典的值
    
    .get(k)       如果键k在,返回键k的值,不存在则返回None

    .get(k,x)     如果键k在,返回键k的值,不存在则返回x

    .pop(k)       返回并移除键k所对应的元素,不存在则抛出异常
    
    .pop(k,x)     返回并移除键k所对应的元素,不存在则返回x

    总结:
        key唯一,故可以是数字,字符串,元组


总结:
    可变对象:list set dict
    不可变对象: str tuple

5.运算符

算术运算符:+ ,- , *, /, %, **,//
    赋值运算符:= ,+=,-=, *=,/=,%=, **=
    比较运算符:==,!=, >, <, >=,<=
    成员运算符:in , not in
    身份运算符:is , is not
        判断两个名字是否指向同一个对象,当id相同时返回True(==比较运算是判断的值)
    逻辑运算符:andornot
        and(与) 两个条件都满足时才返回True
        or(或)  有一个条件满足了就返回True
        not(非) 取反

    计算顺序:默认地,运算符优先级表决定了哪个运算符在别的运算符之前计算。然而,如果你想要改变它们的计算顺序,你得使用圆括号
    结合规律:运算符通常由左向右结合,即具有相同优先级的运算符按照从左向右的顺序计算
'''
**                            #幂运算
+   -  *   /   %              #算术运算符
<  >  <=  >=                  #比较运算符
==  !=                        #比较运算符
=  %=  /=  -=  +=  *=  **=    #赋值运算符
is    is not                  #身份运算符
in    not in                  #成员运算符
not  >  and  > or             #逻辑运算符
'''

 

序列类型做为基本的数据类型是大家必须要掌握的,在python中大家会经常见到这三种数据类型。首先要掌握定义和序列的通用操作。

1.创建序列

字符串用引号创建
列表用中括号 [] 创建
元组用小括号() 或者 直接用逗号隔开各元素

2.序列的通用操作

索引取值切片 索引:正向索引和反向索引   
类型的转换: str() list() tuple ()
相加 + +=
重复 * *=
检查成员 in  not in 
print('hello world')
print(1+1)


#print 打印的意思
#查看内建函数
dir(__builtins__)
#type 查看对象类型
#id 查看对象的id 象征身份
#help 帮助

##数值类型
a=1 #int
b=1.1 #float
c=True #bool
e =1+2j # complex
查看关键字
#import keyword
keyword.kwlist

###数字运算+-*/  //整除  %(取余)  **(幂运算)
# 变量命名规则
字母、数字、下划线组成
字母跟下划线开头
不能用python关键字

###序列类型 
#1.字符串
s='hello python'  #str 引号引起来
s= "asd"  #双引号同样可以
s="xiaoxi说'abc'"
s=''' aabbcc'''  #可以换行

#注释
'asdasdf'
"adadad" #字符串可以用来注释
#号也可以用来注释

#2.列表
li=[1,2,3,4]  #list  中括号里面的元素用逗号隔开
li=['我是','123']
li1=['a','b']  #字符串需要使用引号引起来
a=1;b=2
li=[a,b]
a,b=1,2
a,b=b,a

li=[] #list 空列表

#3.元组
tu=(1,2) #tuple 小括号引起来,小括号里面的元素用逗号隔开
tu=1,2 # 不加括号也可以
tu=1, 
tu=(1,)  #元组只有一个元素的时候要加逗号

##1.索引
#len

li[0] #取索引未知为0的元素

##切片
li[1:3]
#第一个索引是要提取的第一个元素,第二个元素是剩余部分的第一个元素
##步长
li=[1,2,3,4,5,6,7,8]
li[0:8] #[1, 2, 3, 4, 5, 6, 7, 8]
li[:] #[1, 2, 3, 4, 5, 6, 7, 8]
li[-1:-3:-1] #[8, 7]
li[1:6:2] #[2, 4, 6]
#都有正负(方向)之分

##序列类型的通用操作 +  -  *  +=  -=  *=

li=[1,2,3,4,5,6,7,8]
li +[23,12]
li-[1,2]
li *2

## 检查成员 in not in
##强制类型转换   可以定义(工厂方法)
int(1.1)
float(1)
str(123)
list('asd')
转换元组时注意,加括号
list((1,2))

3.集合与字典的操作

#1.有两个列表 x = [1,2,3,'a','b','c']  y = ['a','b','c'] 找出x列表中在y 中也有的元素

x = [1,2,3,'a','b','c'] 
y = ['a','b','c']
set(x)&set(y)


#2.新建一个字典,用3种方法往字典里面插入值;用 4 种方法取出values,用2种方法取出key
di={}
di['g']=123
di.setdefault('x')
di.update({'x':456,'h':789,'t':901})

di['g']
di.values()#list
di.get('x')
di.items() #li=list(di.items())  #li[1][1]
'''
di.pop('g')
tu=di.popitem()#
di.setdefault('x',666)
'''

di.keys()#list
di.items()#list

#3.定义我们学过的每种数据类型,并且注明,哪些是可变,哪些是不可变的
a=1 #int  type(a)
b=1.2 #float
c=True #bool
'''
关键字  import keyword   >keyword.kwlist
        help('keywords')
'''
e=1+2j  #complex

s='abc'#str s2="abc" s3='''abc'''
li=[1,2] #list                           #可变
tu=(1,2)  # tu1=1,2

se={1,2}#set                             #可变
di={'a':1,'b':2} #dict                  #可变  id