文章内容

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、字典、元祖、集合区别与异同:


分享到:

发表评论

评论列表

user-ico

云影博客 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。谢谢你的提醒。