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.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):

元组(tuple):

字典(dict):

布尔值(bool):

 

 

猜你喜欢

转载自www.cnblogs.com/ftxy/p/11706172.html