字符串
字符串不能修改 内置函数 len() 字符串的拼接:*, + In
转义符
\n:换行符,表示在字符串中创建一个新行。\t:制表符,表示在字符串中插入一个水平制表符(Tab)。\b:退格字符,b代表backspace,可以把一个退格符看成一个backspace键。\用于转义
\":双引号,用于在字符串中包含双引号字符。\':单引号,用于在字符串中包含单引号字符。\\:反斜杠,用于在字符串中包含反斜杠字符本身。
r'':原生字符串
s = "yuan alex!"
print ( s)
s = "yuan\talex!"
print ( s)
s = "yuan\nalex!"
print ( s)
s = "yuan alex\b!"
print ( s)
s1 = 'D:\Program Files\nancy\table\back\Python 3.8\python.exe'
print ( s1)
s1 = 'D:\\Program Files\\nancy\\table\\back\\Python 3.8\\python.exe'
print ( s1)
D: \Program Files\nancy\table\back\Python 3.8 \python. exe
s1 = r'D:\Program Files\nancy\table\back\Python 3.8\python.exe'
print ( s1)
格式化输出
name = "yuan"
age = 18
height = 185.21
s = """
员工信息:
姓名:%s
年龄:%d
身高: %f
""" % ( name, age, height)
print ( s)
name = "yuan"
age = 18
height = 185.123456
s = f"姓名: { name} ,年龄: { age} ,身高: { height} "
print ( s)
s = f"姓名: { name: 15 } ,年龄: { age: 20 } ,身高: { height: 20.5 } "
print ( s)
s = f"姓名: { name: -^15 } ,年龄: { age: *<20 } ,身高: { height: &>20.5 } "
print ( s)
字符串的序列操作
正负索引
索引
s = "hello yuan"
print ( s[ 0 ] )
print ( s[ - 1 ] )
切片
字符串对象[开始索引:结束索引] 字符串对象[开始索引:结束索引:步长(step)default=1]
s = "hello yuan"
print ( s[ 0 : 5 ] )
print ( s[ 6 : ] )
print ( s[ : 5 ] )
print ( s[ : ] )
print ( s[ - 4 : - 1 ] )
yua
s = "hello yuan"
print ( s[ : : 1 ] )
print ( s[ : : - 1 ] )
print ( s[ : : 2 ] )
print ( s[ : : 3 ] )
面向对象
类和实例化的类对象都存在内存中,拥有自己的地址。其中类对象地址中有指针指向所在类地址。 对象变量(属性或方法)的查找顺序:先从自己的空间找;找不到沿着指针去对象所在类中找。
实例方法
self 是 实例对象
实例对象.变量 查找过程:内存空间:[实例空间、类空间、父类空间] python面向对象中,函数名==变量名。因此,实例属性名称不能与类方法重复,否则发生覆盖。
__init__
魔法方法(双下划线方法),区别于实例方法。它与实例方法的区别在于,它并不是由对象调用的,而是通过事件触发时自动执行的。 类的实例化步骤(解释器工作)
开辟实例空间 调用__init__方法 将实例空间地址作为类的实例化返回值(赋值给指定变量)
PYTHON一切皆对象
只要在内存中开辟一块空间,有一个变量指向这个空间。那么,这个变量就是一个对象。 字符串、字典、列表、自定义的类都是对象。 任何实例对象的类型都是类本身类型。
class Dog :
pass
Alex = Dog( )
print ( type ( Alex) )
自定义类型对象属于可变数据类型
在python中,只有列表和字典是可变数据类型;其他都是不可变数据类型
实例对象也是一等公民
class Dog :
pass
Alex = Dog( )
a = Alex
类对象、类属性、类方法
class Car ( object ) :
total_cars = 0
def __init__ ( self, age, name) :
self. age = age
self. name = name
self. __class__. total_cars += 1
def accelerate ( ) :
pass
@classmethod
def show _total_cars( cls)
return cls. total_cars
@staticmethod
def drinkWater ( ) :
pass
print ( Car. total_cars)
Car. show_total_cars( )
car1 = Car( "3" , "Honda" )
car1. accelerate( )
car1. drinkWater( )
Car. drinkWater( )
类中方法类型总结
- 实例方法(占比80%)
- 类方法(占比15%):展示、修改类属性
- 静态方法(占比5%):属于类,但不使用类的任何资源