python基础之 基本数据类型,str方法和for循环

1.概念

1.十进制转二进制,对2取余,余数倒序排列
2.字符串为空的时候,bool值为false,字符串非空就是True
3.字符串转化成int时,必须是只包含数字才能转化。
4.字符串转化成int时可以有空格,int()会自动的省略空格---> int(" 5 ")

2.基本数据类型详解

1.数字int
  #bit_length() 当十进制用二进制表示时,最少使用的位数
  v = 11
  data = v.bit_length() #查看十进制的1000在二进制里面有多少有效位数(从遇到1开始向后累加个数)
  print(data)

2.布尔值bool
  布尔值就两种:True,False。就是反应条件的正确与否。
  真   1   True。
  假   0   False。   
  
  注意:字符串为空的时候,bool值为false,字符串非空就是True。

3.字符串的索引和切片
  索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推。
    a = 'ABCDEFGHIJK'
    print(a[0]) --->A
    print(a[3]) --->D
    print(a[5]) --->F
    print(a[7]) --->H
    print(a[-1]) --->K

  切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾腚,最重要)。
    a= "我爱python"
    s = a[0:4] #取值为"我爱py",根据顾头不顾腚原则,只能取值到4-1,不能取到下标为4的元素
    s1 =a[:5] #从0开始的话,0可以省略不写,默认不写
    s2 = a[:] #从头取到尾
    s3 = a[:5:2] #[起始索引:结尾索引+1:步长] #从下标为0开始到下标4之间,相隔一个取一个值,默认是相隔2-1取一个
    s4 = a[-1] #取最后一位
    s5 = a[0:-1] #由于顾头不顾腚,只能取值到倒数第二位
    s6 = a[-1:-4:-2] #反向取值必须加反向步长
    s7 = a[5:0:-2]) #反向取值必须加反向步长
  注意:
    1.支付串里面的每元素有自己的下标,通过下标也能找到每个元素
    2.通过索引和切片出来的都是字符串类型,并且是新的字符串,与源字符串无关,新找到的字符串会在内存中开辟新的地址来存放找到的字符串
    3.正数索引和负数索引可以混用。只要能指到正确的元素即可。(但是一般不用,会比较麻烦)

3.字符串str方法详解

s = "root admin p0st admin"

字符串拼接:
  操作列表时,列表里面的内容必须全部是字符串类型,对操作列表最有用,不用使用for循环打印了--->join拼接之后返回的是字符串
连接符.join(iterable)
s7 = '*'.join(s)
s7 = '_'.join(s)
s7 = 'sb'.join(s)
print(s7)
l1 = ['wir', 'ax', 'tai'] #jion如果要操作列表的话,里面元素必须是字符串型
s7 = ','.join(l1) --->wir,ax,tai
print(s7)

字符串分割:
  s.spilt()      #默认按空格来分割
  s.spilt(',')    #按指定字符来分割
  s.spilt(',',1) #按指定分割次数来分割,以逗号分割,默认从左到右分割一次
  s.rspilt() #从右向左分割
  默认按空格来分割,会将str类型转化成list类型(因为str类型是可迭代类型;能被for循环的都是可迭代类型)
  当要分割的字符串中出现几个指定字符时,分割的时候就会出现n+1个元素
  
另一种分割方式:
  s ="123def456"
  print(s.partition("def"))--->('123','def','456')会返回一个远足
字符串替换:
  s.repalce('admin','123') #将admin替换成123
  s.replace('admin','123',2) #将出现的前两次admin都换成123,后面再出现的不替换

字符串去除:
  s.strip() #默认去除字符串两边的换行符,制表符和空格
  s.rstrip() #只去除右边的。。。。。。
  s.lstrip() #只去除左边的。。。。。。
  s.strip('root') #去除字符串中的root,但是只是去除第一个发现的,如果你写troop,也会去除root

is系列:
  print(name.isalnum()) #字符串由字母或数字组成
  print(name.isalpha()) #字符串只由字母组成
  print(name.isdigit()) #字符串只由数字组成
  print(name.isspace()) #判断是否是空格

大小写:
  print(name.capitalize()) #首字母大写
  print(name.swapcase()) #大小写翻转
  print(name.title()) #每个单词首字母大写,非字母隔开的每个单词的首字母大写
  print(name.upper()) #字符串变大写
  print(name.lower()) #字符串变小写
次数和长度:
  print(s.count('f')) #统计每个字符出现的次数
  print(len(s)) #打印出字符串的长度(内置函数str.isinstance是Python中的一个内建函数。是用来判断一个对象的变量类型。
以。。。开头或结尾  
  a4 = "dkfjdkfasf54"
  #startswith 判断是否以...开头
  #endswith 判断是否以...结尾
  # ret4 = a4.endswith('jdk',3,6) # 顾头不顾腚
  # print(ret4) # 返回的是布尔值
  # ret5 = a4.startswith("kfj",1,4)
  # print(ret5)
寻找字符串中的元素是否存在
  # ret6 = a4.find("fjdk",1,6)
  # print(ret6)  # 找到第一个元素就返回,返回的找到的元素的索引,如果找不到返回-1
  # ret61 = a4.index("fjdk",4,6)
  # print(ret61) # 找到第一个元素就返回,返回的找到的元素的索引,找不到报错。
格式化输出:format
  s = '我叫{},今年{},性别{}'
  方法一:
  s11 = s.format('123', '23', 'man')
  print(s11)
  方法二:
  s = '我叫{0},今年{1},性别{2},我依然叫{0}{0}{0}'
  s11 = s.format('123', '23', 'man')
  print(s11)

  方法三:
  s = '我叫{name},今年{age},性别{sex},我依然叫{name}'
  s11 = s.format(name='123', sex='man', age='23')
  print(s11)
字符串实现翻转
  s= "12345"
  result = s[::-1]--->54321 python中步进为正,从左往右取,步进为负,从右往左取
  说明:
    result = s[i:j:z]
    当z>0时,i为起始索引(缺省为0),j为结束索引(不包括最后一个,缺省为len(a)), s为步进(缺省为1)
    当z<0时,i缺省时默认为-1,j缺省时默认为-len(s)-1,所以就相当于result=s[-1::-len(s)-1:-1] ,相当于从右向左读一遍

other:
  info.endode('utf-8') #更改编码
 
 

 4.for循环

info = "asdalicydn29458cclsds"
for item in info:
    print(item,',',end='')  #打印到一行,item打印的内容,‘,’表示已,分割内容,end=''表示不加换行符-->默认是已空格分开,并且加\n

#for是有限循环,能被for循环的就叫做可迭代对象

 

 

返回系列

转载于:https://www.cnblogs.com/p0st/p/10470990.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值