文章内容
2018/10/4 22:40:01,作 者: 黄兵
python 问题总结
1、字符串的截取、替换等相关问题:
phone_2 = '+8613434460098'
phone_3 = '8613988874021'
phone_4 = '13686091843'
def get_number(phone_1):
print(phone_1[0:3])
if phone_1[0:3] == '+86':
new_phone_1 = phone_1.rstrip().replace(phone_1, phone_1[3:15])
print(new_phone_1)
return phone_1
elif phone_1[0:2] == '86':
new_phone_1 = phone_1.rstrip().replace(phone_1, phone_1[2:13])
print(new_phone_1)
return phone_1
elif phone_1[0:3] != '+86' and phone_1[0:2] != '86':
print(phone_1)
return phone_1
if "name==__main__":
get_number(phone_2)
get_number(phone_3)
get_number(phone_4)上面的输出结果:
+86 13434460098 861 13988874021 136 13686091843
在python中截取字符串使用的是切片。
上面有一点不明白+86为什么是[0:3]而不是[0:2],以后研究一下。
经过网友指导,上面问题总算搞明白:实际上[0:3]只能算到第三个元素,不包含第四个元素,所以[0:3]是四个元素(从0开始计数),但是不包含第四个元素。
2、class与def的区别:
class是面向对象的概念,类使用class关键字创建;
下面是一个class的例子:
# !/usr/bin/python
# Filename: method.py
class Person:
def sayHi(self):
print('Hello, how are you?')
p = Person()
p.sayHi()
# This short example can also be written as Person().sayHi()def:函数是重用的程序段。它们允许你给一个语句块一个名称,然后你用这个名字可以在你的程序的任何地方,任意多次地运行这个语句块。这被称为调用函数。我们已经使用了许多内建的函数,比如len 和range 。
函数用关键字def 来定义。def 关键字后跟一个函数的标识符名称,然后跟一对圆括号。圆括号之中可以包括一些变量名,该行以冒号结尾。
下面看一个def例子:
#!/usr/bin/python
# Filename: function1.py
def sayHello():
print('Hello World!') # block belonging to the function
# End of function
sayHello() # call the function
sayHello() # call the function again3、字典、元祖、集合区别与异同:
云影博客 on 回复 有用(6)
python的切片始终都是前闭后开
游客lJYb on 2018-10-06 09:13:30
应该很简单理解的吧。我是这样理解的:举个例子 a=[1,2,3,4,5] b = a[0:1] print(b) 就打印出[1],a里面的元素下标对应的是0,1,2,3,4 [0:1] 表示是从第0个开始,到1结束,但是不包含1,就输出了[1]而不是[1,2],就好像一个集合,表示的是[0,1)游客JZD+ on 2018-10-06 13:22:31
谢谢你的提示,明白了一些。游客j61j on 2018-10-06 13:24:30
博主回复: 86为什么是[0:3],也就是不包含第三个元素,所以才显示 86。谢谢你的提醒。