Python-基本数据类型(int、浮点数、str、bool、运算符)

目录

一.整数(int)

1. int 

二.浮点数

1. 浮点数

三.字符串(str)

1. str

2. 字符串的【索引、切片和步长】

2.1索引:

2.2切片:

2.2步长:

3.字符串的常用操作

四.布尔(bool)

1.bool

五.运算符


一.整数(int)

1. int 

  简单来说就是负无穷到正无穷之间的整数,比如-2、-1、0、1、2等等

print(1)

二.浮点数

1. 浮点数

浮点数可以理解为小数,比如3.14,5.12

print(1.2)

三.字符串(str)

1. str

Python中凡是用引号(' , ")引起来的数据可以称为字符串类型,组成字符串的每个元素称之为字符,将这些字符一个一个连接起来,然后在用引号起来就是字符串。

print('1'=="1")    #结果为True

2. 字符串的【索引、切片和步长】

2.1索引:

      索引:s[ ] 通过索引获取到的内容 【还是一个字符串

      起始下标(从左到右)是0, (从右到左)是-1

s = "adsfagfgdhy"
print(s[-2])    #h 
  

2.2切片:

       切片: s[起始位置: 结束位置] 切片可以对字符串进行截取 特点:顾头不顾腚

s1 = "adsfagfgdhy"
print(s1[3:7])    #fagf


#其它用法

s2 = "adsfagfgdhy"    #默认切到结尾 
print(s2[5:])    #gfgdhy


s3 = "adsfagfgdhy"    #从头开始切
print(s3[:9])    #adsfagfgd


s4 = "adsfagfgdhy"    #从头到尾切出来
print(s4[:])    #adsfagfgdhy


s5 = "adsfagfgdhy"    #从-2切到结尾,默认是从【左】往右切
print(s5[-2:])    #hy


 s6 = "adsfagfgdhy"    #从开始切到-2
 print(s6[:-2])    #adsfagfgd

2.2步长:

       语法:s[起始位置: 结束位置: 步长]

       步长:步长>0,从左往右取.步长<0.则从右往左取.默认是1

s1 = "adsfagfgdhy"    #从2开始,到5结束 每3个取一个 
print(s1[2:5:3])   #s


#步长>0字符串正向取,步长<0字符串反向取
s2 = "adsfagfgdhy"    #【- 表示反着取】.每1个取1个
print(s2[6:2:-1])    #fgaf

s3 = "adsfagfgdhy"    #反向从y开始, 到g结束(遵循顾头不顾腚), 每2个取1个
print(s3[-1:-5:-2])    #yd 


#尾省略时,步长>0字符串正向取,步长<0字符串反向取
s4 = "adsfagfgdhy"    #从3开始到结束【-反向取】, 每2个取1个
print(s4[3::-2])    #fd


#当步长大于索引范围时,取到的字符串只有以首开头的单个字符
s5 = "adsfagfgdhy"    
print(s5[-2::3])    # h 

s6 = "adsfagfgdhy"    
print(s6[2:6:4])    #s 

3.字符串的常用操作

字符串是不可变的对象,任何操作对字符串是不会有任何影响的

#首字母大写
s1 = "nidayeshiQddp"  
print(s.capitalize())    #Nidayeshiqddp

#全部转换成大、小写
s2 = "nidayeshiQddp"  
print(s2.upper())    #全大写NIDAYESHIQDDP
print(s2.lower())    #全小写nidayeshiqddp
print(s2.casefold())    #转换成小写 和lower的区别casefold对所有字母有效 

#大小写相互装换
s3 = "nidAyeshiQddp"  
print(s3.swapcase())    #NIDaYESHIqDDP
 
#每个被特殊字符或数字隔开的字母首字母大写  
s4 = "nie 大i ld4dp"    #【中文也算特殊字符】
print(s4.title())    #Nie 大I Ld4Dp 

#居中
s6 = "niddp"
print(s6.center(15,"*"))    #*****niddp***** 拉⻓长成15,把原字符串放中间,其余位置补*

#去空格
s7 = " niddp "
print(s7.lstrip())    #niddp 去掉左边空格
print(s7.rstrip())    # niddp去掉右边空格
print(s7.strip())    #niddp去掉左右两边空格

#去掉指定元素【strip去掉的是左右两端的内容,中间的不管】
s8 = "nisggddpn"
print(s8.strip("n"))    #isggddp

#把字符串中的'\t'转为空格,'\t'默认的空格数是 8
s9 = 'alex\tsir'
print(s9.expandtabs())     #alex    sir


#字符串替换
s10 = "nisggddpn"
print(s10.replace("n","d"))    #disggddpd

#字符串切割 默认以空格符作为分隔符 被切割掉的不会打印出来最终以【列表】的形式返回  
s10 = "nispgddpn"
print(s10.split("p"))    #['nis', 'gdd', 'n']

#【如果切割符在左右两端.那么一定会出现空字符串.深坑请留意】
s10 = "nispgddpn"
print(s10.split("n"))    #['', 'ispgddp', '']


#格式化输出
s11 = "我叫%s,今年%d岁了,我喜欢%s" %('sylar',18,'xiaoyuan')
print(s11)

name = "aliax"
age = 18
like = "xiaozhou"
print( f"我叫{name},今年{age}岁了,我喜欢{like}")

s12 = "我叫{},今年{}岁了,我喜欢{}" .format('sylar',18,'xiaoyuan')
print(s12)

s13 = "我叫{0},今年{2}岁了,我喜欢{1}" .format('sylar','xiaoyuan',18)
print(s13)

s14 = "我叫{name},今年{age}岁了,我喜欢{like}" .format(name='sylar',like='xiaoyuan',age=18)
print(s14)


#判断以XXX开头、以XXX结尾
s15 = "我叫sylar,我喜欢python,java,c等编程语言。"
print(s15.startswith("syLar"))             #false
print(s15.startswith("我叫sylar"))         #true
print(s15.endswith("语言"))      #false
print(s15.endswith("语言。"))    #true


#查找出现的次数
s16 = "nisgnddpn".count("n")
print(s16)    #8

#查照出现的位置【以最先找到的为准】
s17 = "nisgnsdpn".find("s")
print(s17)    #2

#索引位置【拿到最先索引到的字符串】
s18 = "nisgnsdpn"
print(s18.index("n"))    #2如果找不到索引,程序会报错
print(s18.index("g",2,5))    #3切片找s18字符串(2,5)的位置上g在哪


#计算字符串长度
s19 = 'alexWUsir'
print(len(s19))    #9     

# is 
s20 = "dj2Ri35p"
print(s20.isalnum())    #True判断是否由字母和数字组成
print(s20.isalpha())    #False判断是否由字母组成
print(s20.isdigit())    #False判断是否由数字组成,不包括小数

# in的两种用法 在for中,
# for循环获取字符串的每一个字符
#语法:for 变量 in 可迭代对象:
#         循环体 
s21 = "nbinfiahhi"
for c in s21:                #把s中的每一个字符交给前面的c。
     print(c, end="")    #nbinfiahhi

#不在for中,判断xxx是否出现在str中.
s22 = 'nds大inf'
if '大' in s22:
    print('Yes')

四.布尔(bool)

1.bool

布尔类型有两个值,分别是True和False

布尔类型用于判断,当判断成立时,得到True的值,反之返回False值。例如==表示判断相等

#int —> bool 只要是0 —>就是False 非0就是 —> Ture
i = -1
b = bool(i)
print(b)  #True

#str —> int
s = '123'
i = int(s)
print(i)    #123
 
s1 = '123e'
i1 = int(s1)
print(s1)    #报错,只有整数才能被转换为int

#str —> bool 只要是非空str就是Ture 空str就是False
s = bool('')
s1 = bool('0')
print(s,s1)    #False True

#bool —> int
b = False
i = int(b)
print(i)    #0

五.运算符

1 算术运算符,包括+、-、、/、%(取余数)
2.比较运算符,包括==,!=,<,>,<=,>=,比较运算符的结果就是布尔值True或者False
3.赋值运算符,包括=,+=,-=,=,/=
4.逻辑运算符,包括and,or,not。需要十分注意的是,三种逻辑运算符都是对布尔值进行运算才有合理结果

a=1
b=0
print(a and b)#0
a=True
b=False
print(a and b)#Flase
print((1==1)or(1==2))#True

没有()的情况下not优先级高于and,and优先级高于or,即优先级关系为()>not>and>or,同一优先级从左往右计算。

() and or not同时存在. 先算括号, 然后算not, 然后算and , 最后算or

5.三元表达式

#result = 为真时的结果 if 判断条件 else 为假时的结果
# 示例:
x = 1
y = 2
result = x if x > y else y    #如果条件成立,将x的值赋给result,不成立,将Y的结果返回给result
#2

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值