python学习日记——基本数据类型

1.运算符

赋值运算符:

=  -=  +=   等等

数学运算符:

+ - * / ** % //

成员运算符:

判断某个东西是否在某个东西里面包含

in     not in

例如:

#字符串
name="飞天小一" #字符: n1="飞" #子序列/子字符串: n2="飞天" if n1 in name: print("success") else: print("fail") #输出为success if n1 not in name: print("success") else: print("fail") #输出为fail

数据类型:数字、字符串、布尔值(True/False)

比较运算符:

布尔值:

  True  真

  False 假

等于:==

大于:>

小于:<

大于等于:>=

小于等于:<=

不等于:!=      或      <>

逻辑运算符:

取反:not         例如not True返回False

且:and

或:or

顺序:从前到后一个一个算

user=”ftxy"
pwd="123"
v= user=='ftxy' and pwd='123' or 1==1 and pwd='test'
print(v)
#输出True  

 

解释:and连接的前面如果是False,就不会判断后面的表达式,直接返回False;or前面连接的如果是True,就不会判断后面的所有内容,直接返回True;所以要自定义顺序的话必须加括号

2.基本数据类型

具体方法及属性control+右键查看

数字(int):

num=123

print(num.bit_length())   #输出数字转换为二进制后的位数

int(str)           将字符串转为数字

type(object)   查看对象类型

a='A'
b=int(a,base=16)     #输出10;含义为将字符串是16进制,将其转化为10进制的整形
print(b.bit_length) #输出整形所占内存空间的位数

字符串(str):

str(object)       强转为字符串

常用的方法:join、split、find、strip、upper、lower、replace(解释及其他部分方法如下)

name="ftXy"
#首字母大写
print(name.capitalize())
#全部转换为小写
print(name.casefold())
#第一个参数代表要生成的字符串总长度,第二个是填充时候用的字符(若没有默认用空格填充)
print(name.center(20,"*"))#放中间
name.ljust(20,"*")  #放左边
name.rjust(20,"*") #放右边
#统计字符在字符串中出现的次数(支持子序列,可以定义起始位置)
print(name.count("f"))

name.encode         编码
name.decode         解码

判断是否以xxx结尾或开始
print(name.endswith(""))
print(name.startwith(""))
#从字符串中寻找x的位置并返回,可以定义寻找的起始位置;未找到返回-1
print(name.find("x"))

#字符串变量替换,如下面案例输出为I am ftxy,19
test="I am {name},{age}"
print(test.format(name="ftxy",age=19))
print(test.format_map({name:"ftxy",age:19}))   #传入字典

#占位符替换
test="I am {0},{1}"
print(test.format("ftxy",19))
#判断字符串是否只有数字与字母
print(name.isalnum())
#判断字符串是否只有字母,判断是否是数字(常用isdecimal),判断是否是数字(可判断②),判断是否是数字(可判断二)
print(name.isalpha(),name.isdecimal(),name.isdigit(),name.isnumeric())
#制作表格,括号中的参数即对字符串进行的分隔数,不足的\t填充对应空格
print(test.expandtabs(5))
#判断是否可以原样输出;如果存在\t这种转译字符则返回False
name.isprintable()
name.istitle() #判断是否标题,每个单词首字母都需要大写
name.title()   #变成标题
name.isupper()  #判断是否大写
name.islower()
name.upper()   #变成大写 
name.lower()
"test".join(name) #将name中的字符用test这个分隔符隔开,参数name可以是列表、元组等
#去除字符串中与传参相同的子序列;移除指定字符串
name.strip('xy')
name.rstrip() #从右边开始去除
name.lstrip()  #从左边开始去除
#批量替换demo,将name中的f替换为j
mt=str.maketrans("f","j")
name.translate(mt)

name.replace("f","j",1)#将name中的f替换为j,只替换第一个 name.partition() #按照传入参数分隔,不可指定个数,但是能拿到分隔符 name.split() #按照传入参数分隔成列表;默认按照空格分隔,可以指定分隔的个数 #定义方法时,方法中的参数有=的调用时可以不带参数(方法count中,sub参数必须有,start与end参数可以没有) def count(self, sub, start=None, end=None)

基本操作(其他数据类型也可以用):

通过索引及下标获取字符串中某一个字符:name[0]

获取子序列:获取第1到第2个子序列   name[0:2]                      获取第2到最后一个子序列   name[1:-1]

获取字符串长度:len(str)

for循环:for 变量名 in 字符串 

注:字符串一旦创建则会在内存里长期存在,不可修改;一旦修改或拼接,都会重新生成字符串;没人用了才会被回收

结束整个循环:break

结束本次循环:continue

帮助创建数字:range(start,end,步长)

#打印用户输入内容及索引
name=input("请输入姓名:")
length=len(name)
for i in range(length):
    print(i,name[i])

列表(list):

内存中是以链表的形式储存:列表是有序的,元素可以被修改

创建:li=[1,2,"test"]  #列表中的元素可以是数字、字符串、列表、布尔值、字典、元组等所有类型

#索引取值
li[1]
#切片取值,切片结果也是列表
li[1:-1]
#for循环取值
#while循环取值

#修改(索引方式修改)
li[1]=222
#修改(切片方式修改)
li[1:2]=222
#删除(索引方式删除)
del li[1]
#删除(切片方式删除)
del li[1:2]

支持in  和  not in操作 

可迭代的对象才能转化为列表:字符串可迭代,所以能转 list(str) ;数字不可迭代,所以不能转换为列表

列表转字符串需要自己写方法一个一个处理;如果列表中只包含字符串,那么可以"".join(list)进行拼接操作

li=[]
#向列表中追加元素,返回值为None
li.append()
li.insert(0,99)      #在第0个位置插入元素99
#清空列表元素
li.clear()
#复制
li.copy()
#计算元素出现的次数,必须传入value
li.count(2)
#通过迭代的方式追加元素,传参为可迭代对象;注意与append的区别
li.extend()
#根据传入值获取当前值索引位置,从左边开始找
li.index()
#删除某个值并返回删除的值;默认删除最后一个,可以传参指定索引删除
li.pop()
#根据元素内容删除
li.remove()
#当前列表反转
li.reverse()
#列表排序,默认从小到大,倒序需要添加参数reverse=True
li.sort()

元组(tuple):

创建:tu=(111,22,33,"tester")      创建元组时推荐在最后加个逗号;是对列表的补充,不支持增加、删除;元组的第一级元素不能修改

支持索引取值及切片取值,支持for循环遍历

元组、列表、字符串  三者间可以相互转换

方法:tu.count()        tu.index()

字典(dict):

创建:info={key:value,key1:value1}       字典是无序的;True在key中时会与1重复

常用的:keys()        values()       items()    get()

items()方法用于返回dict的(key,value)元组对的列表

字典中key值的类型:int、str、tuple、bool——此四种类型可以进行hash操作,所以可以作为key值 ;而列表及字典不能作为key      

#for循环,默认根据key循环
for k,v in info.items():
    print(k,v)

dict.fromkeys(keys,value)
#根据key获取value,如果key不存在,返回给定值;默认给定值为None
dic.get("k1","key不存在时返回的默认值")
#删不掉的时候返回指定默认值
dic.pop
("k1","key不存在时返回的默认值")
dic.setdefault(key,value)
dic.update(dic)

布尔值(bool)

 

 

 

posted @ 2019-10-19 22:49  飞天小一  阅读(206)  评论(0编辑  收藏  举报