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在Console下显示文本进度条的方法
Feb 14 Python
Python 使用PIL numpy 实现拼接图片的示例
May 08 Python
python中itertools模块zip_longest函数详解
Jun 12 Python
tensorflow 中对数组元素的操作方法
Jul 27 Python
Python OS模块实例详解
Apr 15 Python
python字符串和常用数据结构知识总结
May 21 Python
详解Python 4.0 预计推出的新功能
Jul 26 Python
python实现京东订单推送到测试环境,提供便利操作示例
Aug 09 Python
python 画出使用分类器得到的决策边界
Aug 21 Python
基于Python获取城市近7天天气预报
Nov 26 Python
Python实现自动打开电脑应用的示例代码
Apr 17 Python
Python 没有main函数的原因
Jul 10 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数据缓存技术
2007/02/14 PHP
PHP base64编码后解码乱码的解决办法
2014/06/19 PHP
php内嵌函数用法实例
2015/03/20 PHP
Yii使用Captcha验证码的方法
2015/12/28 PHP
微信公众号开发之文本消息自动回复php代码
2016/08/08 PHP
利用PHP生成静态html页面的原理
2016/09/30 PHP
jQery使网页在显示器上居中显示适用于任何分辨率
2014/06/09 Javascript
jQuery实现精美的多级下拉菜单特效
2015/03/14 Javascript
jQuery实现的支持IE的html滑动条
2015/03/16 Javascript
js实现3D图片逐张轮播幻灯片特效代码分享
2015/09/09 Javascript
Google 爬虫如何抓取 JavaScript 的内容
2017/04/07 Javascript
jquery DataTable实现前后台动态分页
2017/06/17 jQuery
基于Vue.js实现tab滑块效果
2017/07/23 Javascript
基于node.js的fs核心模块读写文件操作(实例讲解)
2017/09/10 Javascript
prototype.js简单实现ajax功能示例
2017/10/18 Javascript
Vue的生命周期操作示例
2019/09/17 Javascript
vue中监听路由参数的变化及方法
2019/12/06 Javascript
js实现网页随机验证码
2020/10/19 Javascript
vue3 watch和watchEffect的使用以及有哪些区别
2021/01/26 Vue.js
Python的collections模块中namedtuple结构使用示例
2016/07/07 Python
python方法生成txt标签文件的实例代码
2018/05/10 Python
Python 使用type来定义类的实现
2019/11/19 Python
Python3中configparser模块读写ini文件并解析配置的用法详解
2020/02/18 Python
CSS3线性渐变简单实现以及该属性在浏览器中的不同
2012/12/12 HTML / CSS
2分钟教你实现环形/扇形菜单(基础版)
2020/01/15 HTML / CSS
男女时尚与复古风格在线购物:RoseGal(全球免费送货)
2017/07/19 全球购物
新英格兰最大的特色礼品连锁店:The Paper Store
2018/07/23 全球购物
L’urv官网:精品女性运动服品牌
2019/07/07 全球购物
RealTek面试题
2016/06/28 面试题
企业演讲稿范文大全
2014/05/20 职场文书
三严三实学习心得体会
2014/10/13 职场文书
运输公司工作总结
2015/08/11 职场文书
2016年国培研修日志
2015/11/13 职场文书
React Hook用法示例详解(6个常见hook)
2021/04/28 Javascript
浅谈@Value和@Bean的执行顺序问题
2021/06/16 Java/Android
Android自定义scrollview实现回弹效果
2022/04/01 Java/Android