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实现Linux的find命令实例分享
Jun 04 Python
神经网络python源码分享
Dec 15 Python
python爬取拉勾网职位数据的方法
Jan 24 Python
pandas apply 函数 实现多进程的示例讲解
Apr 20 Python
自适应线性神经网络Adaline的python实现详解
Sep 30 Python
python 实现按对象传值
Dec 26 Python
Python猴子补丁知识点总结
Jan 05 Python
django处理select下拉表单实例(从model到前端到post到form)
Mar 13 Python
python能开发游戏吗
Jun 11 Python
python获取linux系统信息的三种方法
Oct 14 Python
Python中快速掌握Data Frame的常用操作
Mar 31 Python
Python进阶学习之带你探寻Python类的鼻祖-元类
May 08 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 采集获取指定网址的内容
2010/01/05 PHP
PHP JSON 数据解析代码
2010/05/26 PHP
浅析虚拟主机服务器php fsockopen函数被禁用的解决办法
2013/08/07 PHP
destoon实现VIP排名一直在前面排序的方法
2014/08/21 PHP
php 读取文件夹下所有图片、文件的实例
2018/10/17 PHP
腾讯UED 漂亮的提示信息效果代码
2011/09/12 Javascript
JavaScript实现类似拉勾网的鼠标移入移出效果
2016/10/27 Javascript
浅谈EasyUI常用控件的禁用方法
2016/11/09 Javascript
JS实现的表头列头固定页面功能示例
2017/01/10 Javascript
简单实现JavaScript弹幕效果
2020/08/27 Javascript
Angularjs自定义指令Directive详解
2017/05/27 Javascript
angularjs实现猜数字大小功能
2020/05/20 Javascript
浅谈Vue-cli单文件组件引入less,sass,css样式的不同方法
2018/03/13 Javascript
简单了解three.js 着色器材质
2020/08/03 Javascript
打开电脑上的QQ的python代码
2013/02/10 Python
node.js获取参数的常用方法(总结)
2017/05/29 Python
在Python文件中指定Python解释器的方法
2019/02/18 Python
python3.7简单的爬虫实例详解
2019/07/08 Python
python怎么删除缓存文件
2020/07/19 Python
使用CSS3的appearance属性改变元素的外观的方法
2015/12/12 HTML / CSS
HTML5的video标签的浏览器兼容性增强方案分享
2016/05/19 HTML / CSS
canvas实现扭蛋机动画效果的示例代码
2018/10/17 HTML / CSS
美国廉价机票预订网站:Cheapfaremart
2018/04/28 全球购物
EMU Australia澳大利亚官网:澳大利亚本土雪地靴品牌
2019/07/24 全球购物
Java如何格式化日期
2012/08/07 面试题
企业总经理职责
2014/02/02 职场文书
六一节目主持词
2014/04/01 职场文书
大学教师师德师风演讲稿
2014/08/22 职场文书
民政局标准版离婚协议书
2014/12/01 职场文书
明星邀请函
2015/02/02 职场文书
关于学习的决心书
2015/02/05 职场文书
新员工试用期自我评价
2015/03/10 职场文书
python 进阶学习之python装饰器小结
2021/09/04 Python
如何在python中实现ECDSA你知道吗
2021/11/23 Python
JavaScript阻止事件冒泡的方法
2021/12/06 Javascript
Python可视化神器pyecharts之绘制箱形图
2022/07/07 Python