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中的五种异常处理机制介绍
Sep 02 Python
Python实现的下载8000首儿歌的代码分享
Nov 21 Python
详解python 字符串和日期之间转换 StringAndDate
May 04 Python
深入理解Python中range和xrange的区别
Nov 26 Python
用pandas中的DataFrame时选取行或列的方法
Jul 11 Python
Python爬虫框架Scrapy常用命令总结
Jul 26 Python
python3 中文乱码与默认编码格式设定方法
Oct 31 Python
Python自动抢红包教程详解
Jun 11 Python
Django CBV类的用法详解
Jul 26 Python
python常见字符串处理函数与用法汇总
Oct 30 Python
Python字符串格式化输出代码实例
Nov 22 Python
python利用tkinter实现图片格式转换的示例
Sep 28 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的简易冒泡法代码分享
2012/08/28 PHP
PHP易混淆函数的区别及用法汇总
2014/11/22 PHP
php文件上传 你真的掌握了吗
2016/11/28 PHP
PHP中的自动加载操作实现方法详解
2019/08/06 PHP
不错的一个日期输入 动态
2006/11/06 Javascript
javascript静态的url如何传递
2007/05/03 Javascript
IE和Firefox下javascript的兼容写法小结
2008/12/10 Javascript
基于jquery的让textarea自适应高度的插件
2010/08/03 Javascript
jquery实现的简单二级菜单效果代码
2015/09/22 Javascript
js调出上下文菜单的实例
2015/12/17 Javascript
Web开发必知Javascript技巧大全
2016/02/23 Javascript
Vue.js路由vue-router使用方法详解
2017/03/20 Javascript
详解JavaScript调用栈、尾递归和手动优化
2017/06/03 Javascript
Vue.js 单页面多路由区域操作的实例详解
2017/07/17 Javascript
Vue resource中的GET与POST请求的实例代码
2017/07/21 Javascript
[js高手之路]设计模式系列课程-发布者,订阅者重构购物车的实例
2017/08/29 Javascript
看看“疫苗查询”小程序有温度的代码
2018/07/31 Javascript
Vue项目中使用jquery的简单方法
2019/05/16 jQuery
vue使用混入定义全局变量、函数、筛选器的实例代码
2019/07/29 Javascript
使用Webpack提升Vue.js应用程序的4种方法(翻译)
2019/10/09 Javascript
python实现汽车管理系统
2018/11/30 Python
对json字符串与python字符串的不同之处详解
2018/12/19 Python
pandas实现将dataframe满足某一条件的值选出
2019/06/12 Python
Python代码需要缩进吗
2020/07/01 Python
SIXPAD智能健身仪英国官网:革命性的训练装备品牌
2018/09/27 全球购物
英国第一摩托车和摩托车越野配件商店:GhostBikes
2019/03/10 全球购物
CK巴西官方网站:Calvin Klein巴西
2019/07/19 全球购物
什么是聚集索引和非聚集索引
2012/01/17 面试题
写好求职信第一句话的技巧
2013/10/26 职场文书
企业道德讲堂实施方案
2014/03/19 职场文书
大学英语专业求职信
2014/06/21 职场文书
2015年财务科工作总结范文
2015/05/13 职场文书
社区干部培训心得体会
2016/01/06 职场文书
业余无线电通联Q语
2022/02/18 无线电
Python中的程序流程控制语句
2022/02/24 Python
Go gRPC进阶教程gRPC转换HTTP
2022/06/16 Golang