#基本数据类型


#数值类型  4

'''

×××  int


浮点型 float


布尔型 bool


复数型  complex

'''

#×××

a = 0

b = -1

print(type(a))


#浮点型

f = 1.1

f1 = -1.1

type(f)


#布尔型

t = True   #1

f = False  #0


#复数型  complex,虚部只能用j

c = 1 + 2j


#####数值运算

a = 2

b = 2.5

a + b

a - b

a * b

a/b   # 0.8

a//b  #(整除,向下取整)

10 % 2 #取余

9**2  # 9的平方

3**3  # 3*3*3



#####序列类型

'''

字符串  str     不可变

列表    list    可变

元祖    tuple   不可变


'''

s = 's'

#s ='ss''ss'   #  'ssss'

s1 = "ss"

s3 ="ddd'aa'"   #当我们,字符串里面有单引号的时候,用双引号

s4 =''' aaa'''

s5 = ''' bbb

ddd

'''


##注释 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

'''

1. #号,不可以换行,#后面全部被注释了

2. 三引号,可以支持换行


'''


#变量的命名规则:

'''

1. 变量名必须,字母、下划线、数字组成

2. 不能以数字开头

3. 不能用关键字

'''


#555 = 'a'  报错

#我 = 'a'   汉字也行,不符合规范

#False = 1  报错


import keyword

keyword.kwlist



# False == 1

'''

一个等于号代表复值,== 代表,判断是否相等


'''


##list  列表

li = [1,2,3,4]



#tuple  元祖

tu = (1,2,3,4)

tu2 = 1,2

tu3 =(1,)


###### 索引

li =[1,2,3,4,5]

tu = (1,3,4,5)

s='asd'

li[0]  #取出第一个元素,索引是从0开始


##正向索引

li[1]  

tu[2]

s[0]

###反向索引 , -1:取出倒数第一个。-2:取出倒数第二个

li[-1]

s[-1]

tu[-2]



#切片 :取出一小段  (左闭右开)


li[0:2]  #[1, 2],左边边界能取到,右边边界不能取到

s[1:2]

tu[1:3]


#步长

tu[0:4:3]  #(1, 5)


tu[:]  # 默认是从0 - 最后


tu[1:4]

tu[1:4:]  #默认步长为1


tu[::]  ###全体输出



#负步长

tu[3:1:-1]

tu[3:1:-2]


#赋值运算

li *= 2

a +=1

a *= 4


#成员运算


#in  判断是否  在

's' in s  # True

'm' in s  # False


#not  in  判断是否  不在

's' not in s  # False

'm' not in s   # True


############3  可变  不可变

id(1)  #如果id,就说明同一个内存地址,就说明同一个对象