侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

python 常见字符串与函数的用法详解

Python  /  管理员 发布于 7年前   206

strip去除空格

s = ' abcd efg 'print(s.strip())  #去除所有空格print(s.lstrip())  #去除左边空格print(s.rstrip())  #去除右边空格print(s)abcd efgabcd efg  abcd efg abcd efg 

大小写

s = 'abc defg'print(s.upper())print(s.upper().lower())print(s.capitalize()) #首字母大写ABC DEFGabc defgAbc defg

位置和比较

s_1 = 'abcdefg's_2 = 'abdefgh'print(s_1.index('bcd'))try:  print(s_1.index('bce'))except ValueError:  print('ValueError: substring not found')print(s_1 == s_1)  # cmp函数被Python3移除了print(s_1 > s_2)print(s_2 > s_1)1ValueError: substring not foundTrueFalseTrues = ''if not s:  print('true')else:  print('flase') #空字符串和flase是等价的true

分隔和连接

s = 'abc,def,ghi'print(s.split(','))s = '123\n456\n789'numbers = s.split('\n')  #按行分隔numbers = s.splitlines() #按行分隔print(numbers)print('-'.join(numbers)) ['abc', 'def', 'ghi']['123', '456', '789']123-456-789

常用判断

s = 'abcdefg'print(s.startswith('abc'))  #判断是否以某个字符串为开头print(s.endswith('efg'))   #判断是否以某个字符串为结尾print('abcd1234'.isalnum())  #string中至少有一个字符,而且全是字母或者数字或者是字母和数字混合返回True,其他情况返回Falseprint('\tabcd1234'.isalnum()) print('abcd'.isalpha())    #string中至少有一个字符,而且全为字母,返回True,其他情况返回Falseprint('12345'.isdigit())   #输入字符串是否只由数字组成print(' '.isspace())print('acb125'.islower())print('A1B2C'.isupper())print('Hello world!'.istitle()) #检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写TrueTrueTrueFalseTrueTrueTrueTrueTrueFalse

函数

函数定义与默认参数

def func(x, y = 500):  print(x, y)func(150)func(100, 200)func(y = 300, x = 100)150 500100 200100 300

可变参数

def func(name, *numbers): #加一个星号,就表示告诉python,在处理后面所有参数的时候,把这些参数放到一个数组里面  print(name)  print(numbers)  print(type(numbers))func('Tom', 1, 2, 3, 4)Tom(1, 2, 3, 4)<class 'tuple'>    #tuple - 元组,等价于只读数组,就是后面所有的参数都会作为一个数组

关键字参数

def func(name, **kvs): # **意思是把它装到 key/value 字典里,转化成字典了  print(name)  print(kvs)  print(type(kvs))func('Jack', china = 'Beijing', uk = 'London')Jack{'china': 'Beijing', 'uk': 'London'}<class 'dict'>

命名关键字参数

def func(a,b,c,*, china, uk): # *用于和普通参数做分割,*args一样效果  print(china, uk)func(1,2,3,china = 'Beijing', uk = 'London') # *后面传递的参数必须传入参数名Beijing London

复杂情况

def func(a, b, c = 0, *args, **kvs):  print(a, b, c, args, kvs)func(1, 2)func(1, 2, 3)func(1, 2, 3, 'a', 'b')func(1, 2, 3, 'a', 'b', china = 'Beijing', uk = 'London')func(1, 2, 3, *('a', 'b'), **{'china':'Beijing', 'uk':'London'}) #提高代码的可读性1 2 0 () {}1 2 3 () {}1 2 3 ('a', 'b') {}1 2 3 ('a', 'b') {'china': 'Beijing', 'uk': 'London'}1 2 3 ('a', 'b') {'china': 'Beijing', 'uk': 'London'}def my_print(*args):  print(*args) #传变量时,在变量前加上*号,代表把这个数组作为可变参数处理  my_print('x = ',100, 'y = ',200)x = 100 y = 200

函数可以作为参数

def sum(x,y,p = None):  s = x + y   if p:    p(s)  return sum(100,200)sum(100,200,print)300def cmp(x,y,cp = None):  if not cp:    if x > y:      return 1    elif x < y:      return -1    else:      return 0  else:    return cp(x,y)def my_cp(x ,y):  if x < y:    return 1  elif x == y:    return 0  else:    return -1print(cmp(100,200))print(cmp(100,200,my_cp))-11

递归

把一个大问题分解成同样结构的小问题, 然后利用小问题的解得出大问题的解

def my_sum(i):  if i < 0:    raise ValueError  elif i <=1:    return i  else:    return i + my_sum(i - 1) # my_sum(i - 1)是它更小范围内的解,利用这个子问题的解得出当前的解print(my_sum(1))print(my_sum(2))print(my_sum(3))print(my_sum(10))print(my_sum(100))136555050# 递归的经典例子!# 斐波那契数列 f(n) = f(n - 1) + f(n -2)def fib(n):  if n < 1:    raise ValueError  elif (n == 1) or (n == 2):    return 1  else:    return fib(n - 1) + fib(n - 2)print(fib(1))print(fib(2))print(fib(3))print(fib(4))print(fib(5))print(fib(6))112358

总结

以上所述是小编给大家介绍的python 常见字符串与函数的用法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对站的支持!


  • 上一条:
    值得收藏,Python 开发中的高级技巧
    下一条:
    Linux下Python安装完成后使用pip命令的详细教程
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在python语言中Flask框架的学习及简单功能示例(0个评论)
    • 在Python语言中实现GUI全屏倒计时代码示例(0个评论)
    • Python + zipfile库实现zip文件解压自动化脚本示例(0个评论)
    • python爬虫BeautifulSoup快速抓取网站图片(1个评论)
    • vscode 配置 python3开发环境的方法(0个评论)
    • 近期文章
    • 在windows10中升级go版本至1.24后LiteIDE的Ctrl+左击无法跳转问题解决方案(0个评论)
    • 智能合约Solidity学习CryptoZombie第四课:僵尸作战系统(0个评论)
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2018-04
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2022-01
    • 2023-07
    • 2023-10
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客