str.strip()和str.title()中,网上的解释一般都是str赋值再调用strip或者title等方法进行相应的操作,但如果str在不赋值的前提下,直接在括号内传入字符串作为参数,发现也能完成对传入的字符串完成相应的方法功能,想请教一下各位,为什么这样直接传入字符串参数也能完成相应操作目的呢?因为我看了strip方法里面的参数解释都是删除字符串前后所含传入参数的字符,不太理解为什么上述这样直接传入字符串也可以执行操作,类似的还有其他方法吗?
你的意思是
str.strip(" xxx ") 和 " xxx ".strip() 为什么都能运行?
此处的str为python内的str类。
每一个字符串都属于 class str ,而str类中的strip方法参数为str.strip(self, chars=None),所以直接调用并传入一个同class的对象(在此处即字符串)也是可以运行的。
所有的字符串都是str类的。举个栗子:
a = "abx"
你可以直接用 a.strip() 或者 a.title() ,也可以str.strip(a),str.title(a)。第一个是实例化了str这个类,第二是类似于传参了。
再来个栗子:
class week():
def __init__(self):
self.day = -1
def setday(self,day):
return day
a = week()
print(a.setday(6))
print(week().setday(6))