• 字符串

1.方法详细内容

  • 方法
  • 强制转换
1.大小写转换
  • Value.upper() / value.lower()

    new_value=value.upper()
    print(new_value)
    #验证码
    check_code = "uuueY"
    mess = input("请输入验证码%s:"%(check_code,))
    if mess.lower() == check_code.lower():
    print("登陆成功")
2.判断字符串是否为数字:isdigit()
  • num.isdigit(): 判断是否是数字得到bool值

    #人工服务,只能输入数字
    num=input("请输入服务:“)
    flag=num.isdigit()
    #print(flag) "1"-->True "asdf"-->False
    if flag:
    num=int(num)
    print(num)
    else:
    print("请输入数字") --------------------------------
    #计算字符串中的数字多少个
    str1="alellr838jdjje939"
    str_len=len(str1)
    index=0
    count=0
    while True:
    val=str1[index]
    flag=val.isdigit()
    # print(flag)
    if flag:
    count+=1
    index += 1
    if index==str_len:
    break
    print(count)
3.除空格:strip()
  • user.rstrip(): 去掉右边的空格/换行\n / 制表符 \t

    user.lstrip(): 左边

    user.strip(): 去除两边的空白

    v="gao "
    print(v.strip) v="gao\n"
    print(v.strip) v="gao\t ok"
    print(v.strip)
  • 去掉两边指定的字符

    v1="gao"
    print(v1.strip("g"))
4.替换关键字: replace("","",1)
  • mess.replace("被替换的字符/子序列“,”要替换的内容“,1)

mess="我来自南方"
data=mess.replace("南方“,”**“)
data=mess.replace("南方“,”**“,1)
print(data)
#从左到右找到第一个则替换 数字:表示替换几个
5.字符串切割:split(",",2):得到list数据类型
  • mess.split("根据什么内容进行分割", "分割几次")
  • mess.rsplit("")
mess="床前明月光,疑是地上霜,举头王明月"
result=mess.split(" ,")
print(result)
#["床前明月光"," 疑是地上霜"," 举头王明月"] result=messs.split(",",1)
print(result)
#只拆分一个
#["床前明月光"," 疑是地上霜,举头王明月"]
6.startswith/endswith
#判断字符串是否已"al"开头
#方案一 二
str1="already"
print(str1.startswith("al"))
#True
7.format()
#字符串格式化
name="我叫{0},年龄:{1}".format("gao",73)
print(name)
#”我叫gao,年龄:73“
8.encode():读到内存后的编码格式,默认是按照unicode编码
#读到内存后的编码格式,默认是按照unicode编码
name="Gao"
v1=name.encode('utf-8')#内存中按照utf-8编码方式 字符串转换成二进制
print(v1)
9.”连字符“.join(users): join会循环users里面的内容然后连接———>join可以循环 (列表,元祖,字符串)
#1.
name="alex"
result="_".join(name)#循环每个字符,并且在字符和字符之间加入连接字符
print(result)
#a_l_e_x #2.连接列表的内容
users=["Gao","Kou","123"]
val=",".join(users)
print(val)
#Gao,Kou,123 #
li=[1,2,3,4,5,5]
li=str([1,2,3,4])
#li="[1,2,3,4]" 整个列表必须都转换为字符串
li="_".join(li)
print(li,type(li))
#[_1_,_ _2_,_ _3_,_ _4_] <class 'str'>
10.isupper()/islower():判断大小写
  1. casefold():字符串变小写 可将拉丁字母变小写

  2. isdecimal: 判断是否是十进制 的数 1—>True "二"—>False "②"—>False
  3. isnumeric:1—>True "二"—>True "②"—>True

  4. Isdigit: 1—>True "二"—>False "②"—>True

  5. Isalnum:是否是字母数字

  6. isalpa:是否字母

  7. isprintable:是否能打印

  8. isspace:是否是空白

  9. istitle: 是否首字母大写

  10. capitalize:首字母大写

  11. center:居中

v='gao'
v1=v.center(20,"*")#指定v为20长度 空白处以*填充
  1. ljust/rjust(20,"*"):左右边空白填充
  2. count("a"):计算子序列个数
  3. find("a"):找索引位置,不存在返回-1
  4. index:找索引位置,不存在返回-1
  5. Format_map():传字典
  6. partition:
v="jdjjkf3hfjf"
v2=v1.split("3")#不会包括3 会一直分割
print(v2) v2=v1.partition("3")#按照3 分为三份 会包括3
  1. translate

  2. Maketrans

##6.公共方法
  • len()

    num.len(value) :计算字符长度

value="test"
number=len(value)
print(number)
#4
  • 索引 arr[index]

    arr="oldboy"
    v1=arr[0]#从前往后取数据
    #o
    v2=arr[-1] #从后往前取数据 倒数第一个位置开始取
    #y
  • 切片: v[2:3] 2<=index<3 前开后闭

    v="oldboy"
    v1=v[2:3] #2<=index<3
    print(v1)
    #d v1=v[3:6]/[3:]
    #boy v1=v[:-1]
    #从第一个位置开始到取数字 直到取到 倒数第一个位置
    #oldbo #取最后两个字符
    #方案一:
    data=input("请输入:")
    v=data[-2:] #从倒数第二个开始取
    print(v) 方案二
    data_len=len(data)
    v=data[data_len-2:data_len]
  • 切片步长 : v[0,8,step]

    • step=2>0 :往右走两次 (隔一个一取) index0=index0+2
    • step=-2<0: 往左走 index1=index1-2
    • v[1,8]: 默认向右
    #通过对s切片形成字符串s5 = "ba2"
    #sequence[starting_index:ending_index:step]
    s = "123a4b5c"
    s6=s[-3:-8:-2]
    print(s6)
    '''
    name="alex"
    #value[index0:index2:step]
    #step > 0 :往右边开始取值
    #step < 0 :往左边开始取值 #1.val=name[0:-1:2]#从0到倒数第一个值,每取一次index+2,即就是隔一个取一个
    print(name)
    #ae #2.val=name[1::2]#从1 到 正无穷 按照step=2向右边取值 #3.val=name[-1:0:-2]#从倒数第一个到0位置处,按照step=-2向左取值 #笔试题:将字符串反转
    val=name[::-1]
    print(val)
  • for 循环:

    • for in:循环打印字符串的每个字符
    name="Gao"
    for item in name:
    print(item)
    #G
    #a
    #o
    • break/continue依然有效

      name="Gao"
      for item in name:
      print(item)
      break
      print("123")
      #G
      #a
      #o
    • for i in range(1,11):

      #请打印1-10
      for i in range(1,11):# 1<=range<11
      print(i)
      #打印1-10 除了7以外
    注意:

    ​ for和while应用场景:for:有穷时候优先

    ​ while:无穷

  • 修改,删除 (无)

注意:

​ 字符串没有 ""修改删除""方法

练习:split/strip()/isdigit

1.用户输入很多数字或者字母,相加(可能带空格,字母)

​ 5+9 +A+10+ 1 +99.。。。

val=input("请输入几个数相加:")
val=val.split("+")
for ele in val:
item=ele.strip()#一定要除空格 不然带空格的数字字符串不会被识别为数字
if item.isdigit():
sum=sum+int(item)
print(sum)

2.将字符串反转

#2.val=name[1::2]#从1 到 正无穷 按照step=2向右边取值

#3.val=name[-1:0:-2]#从倒数第一个到0位置处,按照step=-2向左取值

#笔试题:将字符串反转
val=name[::-1]
print(val)

2.字符串强制转换

  • str(整型)==>字符串 "999"

  • str(bool)==>"True"/"False"

  • str(列表)==>

    li=[1,2,3,4,5,5]
    li=str([1,2,3,4])
    #li="[1,2,3,4]" 整个列表都转换为字符串
    li="_".join(li)
    print(li,type(li))
    #[_1_,_ _2_,_ _3_,_ _4_] <class 'str'> li=[1,2,3,4,5,5]
    li1=str(li)
    #li="_".join(li)
    print(li1,type(li1))
    #[1, 2, 3, 4, 5, 5] <class 'str'>
  • str(元组)

    li=(1,2,3,4,5,5)
    li1=str(li)
    print(li1,type(li1))
    #(1, 2, 3, 4, 5, 5) <class 'str'>

3. 总结

day03字符串的更多相关文章

  1. day03 字符串

    今日学习 1.python的基本数据回顾 2.int--数字类型 3.bool值 取值只有True False bool值没有操作 4.字符串 1.python的基本数据回顾 1)int =>整 ...

  2. Python大神成长之路: 第三次学习记录 集合 函数 装饰 re

    学习记录day03   字符串可以直接切片,But字符串不可修改 字符串修改:生成了一个新的字符串 LIst修改,在原基础上修改(原内存上)     集合是一个无序的,不重复的数据组合,它的主要作用如 ...

  3. Python全栈--目录导航

    这里更新以Python语言作为基础,想要成为全栈工程师需要掌握的技能... Python基础语法 day01 初识Python day02 while循环 运算符和编码 day03 字符串 day04 ...

  4. day03——整型、字符串、for循环

    day03 整型 用于比较和运算 32位:-2 ** 31--2 ** 31-1 64位:-2 ** 63--2 ** 63-1 长整型(long) python2中有长整型.获取的是整数 pytho ...

  5. day03 python数据类型 数字 字符串 布尔

    day03 python   一.基本数据类型     1.int a= 8 a_length = a.bit_length()  #此方法求数字的二进制长度  print(a_length)     ...

  6. python学习-day03:整形、字符串常用方法:

    一.数字,int 1.1: a.int(object)转化数字类型: a=' b=int(a) b=b+1000 print(b) 223 <class 'int'> 答案 b.转化二进制 ...

  7. 变量 + 数据类型(数字 + 字符串)(day03整理)

    目录 一.上节课回顾 四 编程语言分类 (一) 机器语言 (二)汇编语言 (三) 高级语言 (四) 网络瓶颈效应 五.执行python程序两种方式 (一) 交互式(jupytre) (二) 命令行式( ...

  8. python27期day03:字符串详解:整型、可变数据类型和不可变数据类型、进制转换、索引、切片、步长、字符串方法、进制转换、作业题。

    1.%s: a = "我是新力,我喜欢:%s,我钟爱:%s"b = a%("开车","唱跳rap")print(b)2.整型: 整数在Pyt ...

  9. day03 for循环、字符串方法、类型转换

    01 上周内容回顾 while 条件: 循环体 例: while True: print(111) print(222) print(333) 结束循环的两种方式: 1,改变条件. 2,break. ...

随机推荐

  1. QT 设置应用程序名称和主窗口标题

    1.设置应用程序名称 在工程文件.pro文件中,修改Target为想设置的名称 TARGET = MXEditer 2.设置主窗口标题,在main文件中,我的主窗口是MainWindow. int m ...

  2. jquery 获取当前点击的是谁

    //今天早上有人问这个问题 想着没写过jquery的笔记 //那就随便写一下吧 下面两个方法 根据不同情况而定用哪种方法$(".class").click(function(){ ...

  3. laravel框架中的邮箱发送

    1.设置邮件服务器登录 163邮箱设置 POP3/SMTP/IMAP勾选:POP3/SMTP服务 IMAP/SMTP服务 保存 设置客户端授权密码 2.在laravel中配置服务器 打开.env文件 ...

  4. photoshop打开图片显示的是索引,无法编辑解决

    问题如图: 解决方法: 这是因为图像模式是索引颜色,具体为啥图片打开是索引模式我也不是很清楚(捂脸),改成RGB颜色即可修改了 图像=>模式=>RGB颜色 如图:

  5. 使用Metasploit渗透攻击windows系统(一)

    攻击机:kaili ip:192.168.80.157 目标机:win7 IP:192.168.80.158 这里用两种方法去创建meterpreter会话: 1)利用kali中的msfvenom生成 ...

  6. 【Java】【9】String Date Calendar之间的转换

    前言: 1, Calendar 转化 String 2, Calendar 转化 Date 3,Date 转化 String 4,Date 转化 Calendar 5,String 转化 Calend ...

  7. SSH服务器拒绝了密码

    一般进行到这一步,可能是sshd的设置不允许root用户远程登录首先修改一下vim /etc/sshd/ssh_config     修改成如下图:然后reboot或者service sshd res ...

  8. Regex-Golf

    A man, a plan: 判断回文,如果不确定串长度情况下可以考虑利用反向引用构造pattern,例如: (.)\1  , (.)(.)\2\1 , (.)(.)(.)\3\2\1 ...但这里只 ...

  9. 20175227张雪莹 2018-2019-2 《Java程序设计》第四周学习总结

    20175227张雪莹 2018-2019-2 <Java程序设计>第四周学习总结 教材学习内容总结 一.子类和父类. 1.子类只继承父类中的protected和public访问权限的成员 ...

  10. python中字符串格式化

    username='小黑'age=18high=1.88s2='欢迎%s,年龄是%d,身高是%.2f'%(username,age,high)#%s是通用的,%d就必须传整数,%f就必须是小数,想保留 ...