python中单引号和双引号使用彻底相同。 使用三引号('''或""")能够指定一个多行字符串。 转义符 '\' 反斜杠能够用来转义,使用r可让反斜杠不发生转义。。 如 r"this is a line with \n" 则\n会显示,并非换行。 按字面意义级联字符串,如"this " "is " "string"会被自动转换为this is string。 字符串能够用 + 运算符链接在一块儿,用 * 运算符重复。 Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。 Python中的字符串不能改变。 Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。 字符串的截取的语法格式以下:变量[头下标:尾下标]
#!/usr/bin/python3 str='Runoob' print(str) # 输出字符串 print(str[0:-1]) # 输出第一个到倒数第二个的全部字符 print(str[0]) # 输出字符串第一个字符 print(str[2:5]) # 输出从第三个开始到第五个的字符 print(str[2:]) # 输出从第三个开始的后的全部字符 print(str * 2) # 输出字符串两次 print(str + '你好') # 链接字符串 print('------------------------------') print('hello\nrunoob') # 使用反斜杠(\)+n转义特殊字符 print(r'hello\nrunoob') # 在字符串前面添加一个 r,表示原始字符串,不会发生转义 #打印结果以下 Runoob Runoo R noo noob RunoobRunoob Runoob你好 ------------------------------ hello runoob hello\nrunoob
我分享一个个人群:725479218,群里面有提供学习的地址,有想要学习的能够一块儿学习,还可提供技术交流python
print 默认输出是换行的,若是要实现不换行须要在变量末尾加上 end="":
s = "lamxqx" print(s[1:3],end="") print(s*2) 结果: amlamxqxlamxqx ------------------------------------------ s = "lamxqx" print(s[1:3]) print(s*2) 结果: am lamxqxlamxqx
lass A: pass class B(A): pass isinstance(A(), A) # returns True type(A()) == A # returns True isinstance(B(), A) # returns True type(B()) == A # returns False -------------------------------------------- 区别: type()不会认为子类是一种父类类型。 isinstance()会认为子类是一种父类类型
例子 -------------------------------------------------------------- #!/usr/bin/python # -*- coding: UTF-8 -*- class Employee: '全部员工的基类' empCount = 0 def __init__(self, name, salary): self.name = name self.salary = salary Employee.empCount += 1 def displayCount(self): print "Total Employee %d" % Employee.empCount def displayEmployee(self): print "Name : ", self.name, ", Salary: ", self.salary "建立 Employee 类的第一个对象" emp1 = Employee("Zara", 2000) "建立 Employee 类的第二个对象" emp2 = Employee("Manni", 5000) emp1.displayEmployee() emp2.displayEmployee() print "Total Employee %d" % Employee.empCount ------------------------------------------------------- 知识点: 一、empCount 变量是一个类变量,它的值将在这个类的全部实例之间共享。你能够在内部类或外部类使用 Employee.empCount 访问。 二、第一种方法__init__()方法是一种特殊的方法,被称为类的构造函数或初始化方法,当建立了这个类的实例时就会调用该方法 三、self 表明类的实例,self 在定义类的方法时是必须有的,虽然在调用时没必要传入相应的参数。 执行以上代码输出结果以下: Name : Zara ,Salary: 2000 Name : Manni ,Salary: 5000 Total Employee 2 你能够添加,删除,修改类的属性,以下所示: emp1.age = 7 # 添加一个 'age' 属性 emp1.age = 8 # 修改 'age' 属性 del emp1.age # 删除 'age' 属性 你也可使用如下函数的方式来访问属性: getattr(obj, name[, default]) : 访问对象的属性。 hasattr(obj,name) : 检查是否存在一个属性。 setattr(obj,name,value) : 设置一个属性。若是属性不存在,会建立一个新属性。 delattr(obj, name) : 删除属性。 hasattr(emp1, 'age') # 若是存在 'age' 属性返回 True。 getattr(emp1, 'age') # 返回 'age' 属性的值 setattr(emp1, 'age', 8) # 添加属性 'age' 值为 8 delattr(emp1, 'age') # 删除属性 'age' ---------------------------------------------------------- Python内置类属性 __dict__ : 类的属性(包含一个字典,由类的数据属性组成) __doc__ :类的文档字符串 __name__: 类名 __module__: 类定义所在的模块(类的全名是'__main__.className',若是类位于一个导入模块mymod中,那么className.__module__ 等于 mymod) __bases__ : 类的全部父类构成元素(包含了一个由全部父类组成的元组) Python内置类属性调用实例以下: 实例 #!/usr/bin/python # -*- coding: UTF-8 -*- class Employee: '全部员工的基类' empCount = 0 def __init__(self, name, salary): self.name = name self.salary = salary Employee.empCount += 1 def displayCount(self): print "Total Employee %d" % Employee.empCount def displayEmployee(self): print "Name : ", self.name, ", Salary: ", self.salary print "Employee.__doc__:", Employee.__doc__ print "Employee.__name__:", Employee.__name__ print "Employee.__module__:", Employee.__module__ print "Employee.__bases__:", Employee.__bases__ print "Employee.__dict__:", Employee.__dict__ 执行以上代码输出结果以下: Employee.__doc__: 全部员工的基类 Employee.__name__: Employee Employee.__module__: __main__ Employee.__bases__: () Employee.__dict__: {'__module__': '__main__', 'displayCount': <function displayCount at 0x10a939c80>, 'empCount': 0, 'displayEmployee': <function displayEmployee at 0x10a93caa0>, '__doc__': '\xe6\x89\x80\xe6\x9c\x89\xe5\x91\x98\xe5\xb7\xa5\xe7\x9a\x84\xe5\x9f\xba\xe7\xb1\xbb', '__init__': <function __init__ at 0x10a939578>}