文章内容
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 again
3、字典、元祖、集合区别与异同:
云影博客 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。谢谢你的提醒。