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


Posted in Python onNovember 23, 2018

strip去除空格

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

大小写

s = 'abc defg'
print(s.upper())
print(s.upper().lower())
print(s.capitalize()) #首字母大写
ABC DEFG
abc defg
Abc 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)

1
ValueError: substring not found
True
False
True

s = ''
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,其他情况返回False
print('\tabcd1234'.isalnum()) 
print('abcd'.isalpha())    #string中至少有一个字符,而且全为字母,返回True,其他情况返回False
print('12345'.isdigit())   #输入字符串是否只由数字组成
print(' '.isspace())
print('acb125'.islower())
print('A1B2C'.isupper())
print('Hello world!'.istitle()) #检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写

True
True
True
False
True
True
True
True
True
False

函数

函数定义与默认参数

def func(x, y = 500):
  print(x, y)
func(150)
func(100, 200)
func(y = 300, x = 100)
150 500
100 200
100 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)

300
def 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 -1

print(cmp(100,200))
print(cmp(100,200,my_cp))

-1
1

递归

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

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))
1
3
6
55
5050
# 递归的经典例子!
# 斐波那契数列 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))
1
1
2
3
5
8

总结

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

Python 相关文章推荐
常用python数据类型转换函数总结
Mar 11 Python
python读取html中指定元素生成excle文件示例
Apr 03 Python
Python读取和处理文件后缀为.sqlite的数据文件(实例讲解)
Jun 27 Python
Python编程之列表操作实例详解【创建、使用、更新、删除】
Jul 22 Python
python 实现tar文件压缩解压的实例详解
Aug 20 Python
深入理解python中函数传递参数是值传递还是引用传递
Nov 07 Python
python email smtplib模块发送邮件代码实例
Apr 26 Python
python批量赋值操作实例
Oct 22 Python
Django 后台获取文件列表 InMemoryUploadedFile的例子
Aug 07 Python
tensorflow 只恢复部分模型参数的实例
Jan 06 Python
Python批量删除mysql中千万级大量数据的脚本分享
Dec 03 Python
python抢购软件/插件/脚本附完整源码
Mar 04 Python
django+mysql的使用示例
Nov 23 #Python
Linux下Python安装完成后使用pip命令的详细教程
Nov 22 #Python
Windows下Python3.6安装第三方模块的方法
Nov 22 #Python
Python第三方Window模块文件的几种安装方法
Nov 22 #Python
python实现归并排序算法
Nov 22 #Python
Python的iOS自动化打包实例代码
Nov 22 #Python
详解如何用django实现redirect的几种方法总结
Nov 22 #Python
You might like
php快递单号查询接口使用示例
2014/05/05 PHP
Mac系统完美安装PHP7详细教程
2017/06/06 PHP
基于swoole实现多人聊天室
2018/06/14 PHP
html 锁定页面(js遮罩层弹出div效果)
2009/10/27 Javascript
JQuery实现table行折叠效果以JSON做数据源
2014/05/26 Javascript
JS获取地址栏参数的两种方法(简单实用)
2016/06/14 Javascript
详解微信小程序——自定义圆形进度条
2016/12/29 Javascript
js实现密码强度检验
2017/01/15 Javascript
JS跨域请求外部服务器的资源
2017/02/06 Javascript
jQuery实现在新增加的元素上添加事件方法案例分析
2017/02/09 Javascript
nodejs 终端打印进度条实例代码
2017/04/22 NodeJs
vue服务端渲染添加缓存的方法
2018/09/18 Javascript
对angular 监控数据模型变化的事件方法$watch详解
2018/10/09 Javascript
PostgreSQL Node.js实现函数计算方法示例
2019/02/12 Javascript
小程序采集录音并上传到后台
2019/11/22 Javascript
JS代码实现页面切换效果
2021/01/10 Javascript
微信小程序组件生命周期的踩坑记录
2021/03/03 Javascript
[01:09:20]NB vs NAVI Supermajor小组赛A组 BO3 第二场 6.2
2018/06/03 DOTA
[46:04]Liquid vs VP Supermajor决赛 BO 第四场 6.10
2018/07/05 DOTA
学习python (1)
2006/10/31 Python
python中学习K-Means和图片压缩
2017/11/20 Python
Django 根据数据模型models创建数据表的实例
2018/05/27 Python
python3 实现对图片进行局部切割的方法
2018/12/05 Python
pandas进行时间数据的转换和计算时间差并提取年月日
2019/07/06 Python
Python实用库 PrettyTable 学习笔记
2019/08/06 Python
python生成特定分布数的实例
2019/12/05 Python
解决Django部署设置Debug=False时xadmin后台管理系统样式丢失
2020/04/07 Python
python编写softmax函数、交叉熵函数实例
2020/06/11 Python
python 对一幅灰度图像进行直方图均衡化
2020/10/27 Python
python 制作网站小说下载器
2021/02/20 Python
使用CSS3制作响应式导航菜单的方法
2015/07/12 HTML / CSS
CSS3中animation实现流光按钮效果
2020/12/21 HTML / CSS
互联网创业计划书写作技巧攻略
2014/03/23 职场文书
小学班主任寄语大全
2014/04/04 职场文书
党的群众路线教育实践活动个人对照检查材料(乡镇)
2014/11/05 职场文书
应急管理工作总结2015
2015/05/04 职场文书