蛇瓜是什么| 治烫伤最好的药膏是什么| 锹形虫吃什么| 拉什么| 刮痧的痧是什么东西| 决明子和什么搭配最好| 大姨妈吃什么食物好| 胡萝卜什么时候成熟| 美尼尔眩晕症吃什么药| degaia是什么牌子| 哀伤是什么意思| 什么运动最减肥| 女性睾酮低说明什么| 经常吃辣椒有什么好处和坏处| 更年期失眠吃什么药| 水果什么时间段吃最好| 长癣是什么原因引起的| 伪娘什么意思| 慢性浅表性胃炎吃什么药好| 巴马汤泡脚有什么功效| 查幽门螺杆菌挂什么科| 南瓜吃多了有什么坏处| 七月是什么生肖| 手气是什么原因引起的| 寅五行属什么| 乙肝有抗体是显示什么结果| 丙申五行属什么| 抗美援朝什么时候结束| 三尖瓣关闭不全是什么意思| 血浆蛋白是什么| 处男是什么意思| cvd是什么意思| 花青素是什么| 妍字属于五行属什么| 眼睛有异物感是什么原因| 蛋白质是什么意思| 17数字代表什么意思| 三级医院什么意思| 110斤穿什么码衣服| 柴鸡蛋是什么| 血糖低是什么原因引起的| 小螳螂吃什么| 为什么狗不能吃巧克力| 什么叫瑕疵| 出梅是什么意思| 高血压挂什么科室| 屋里喷什么消毒最好| 蛇吃什么食物| 眼皮老是跳是什么原因| 色氨酸是什么| 捧杀是什么意思| sk-ll是什么牌子| 不是什么而是什么造句| 有毒是什么意思| yg是什么意思| 什么药降肌酐| 上海元宵节吃什么| 5月11日是什么星座| 甯字五行属什么| 孕妇为什么要左侧睡不能右侧睡| 海藻糖是什么糖| 植物的根有什么作用| 为什么容易出汗| 西边五行属什么| 奶咖色是什么颜色| 什么地腐烂| 为什么容易被蚊子咬| hl是什么意思| 11月18日什么星座| 香港电话前面加什么| 开会是什么意思| 胎盘什么时候形成| 聊胜于无的聊是什么意思| 外科医生是做什么的| 与生俱来是什么意思| 完美落幕是什么意思| 众里寻他千百度是什么意思| 晚上睡眠不好有什么办法可以解决| 腿上无缘无故出现淤青是什么原因| 咖啡有什么好处| 石斛起什么作用| 吃布洛芬有什么副作用| 黄历是什么意思| 肾炎是什么病| 一什么枝条| 胆固醇高对身体有什么危害| 老年人睡眠多是什么原因| 什么奶粉跟母乳一个味| 涤纶是什么材质| 痘痘破了涂什么药膏| 办电话卡需要什么| 纷至沓来是什么意思| 10.5号是什么星座| 荷尔蒙爆棚是什么意思| 学生吃什么补脑子增强记忆力最快| 孔子姓什么名什么| 什么是负数| 蚧壳虫用什么药| 维生素h的作用及功能主治是什么| 肝阳上亢吃什么中成药| 欲言又止的欲什么意思| 复合维生素b片主治什么病| 婳是什么意思| 胃不好吃什么水果最好| 什么是大健康| 什么烟最贵| 什么是矢量| 小狗需要打什么疫苗| electrolux是什么牌子| 宫颈活检是什么意思| 唐僧念的紧箍咒是什么| leep术是什么手术| 血小板低吃什么补得快| 皮肤上出现小红点是什么原因| 尿葡萄糖高是什么原因| 趁什么不什么| 什么是皈依| 2.6号是什么星座| 为什么会心梗| 为什么会长口腔溃疡的原因| 黑马是什么意思| 宫缩疼是什么感觉| 玫瑰花和什么一起泡水喝好| gxg是什么牌子| 驾驶证扣6分有什么影响| 肝肾阴虚吃什么药| 四月初七是什么星座| 圣诞节吃什么| 鸡全蛋粉是什么东西| 蒸鱼用什么鱼| 胎动在肚脐周围是什么胎位| 唯我独尊是什么意思| 夏天吃什么菜最好| 盲约大结局是什么| 米线用什么做的| 合约机什么意思| 炖牛肉放什么料| 朱是什么颜色| pet是什么| 三七治什么病最好| 下午一点多是什么时辰| 蟒袍是什么人穿的| r级电影是什么意思| 乳晕是什么| 什么样的人不能吃海参| 徐州菜属于什么菜系| 1975年属兔的是什么命| 手心热吃什么药| 颈椎压迫神经吃什么药| 全麦面包是什么做的| 工种是什么意思| 罹是什么意思| 女性耻骨疼是什么原因| 什么是美育| 玄是什么颜色| 总胆红素高是什么病| 93年属相是什么| 什么的月饼| asp是什么氨基酸| 肺阴不足的症状是什么| x光是什么| 总胆红素高是什么原因| 双氯芬酸钠缓释片是什么药| 姓叶的男孩取什么名字好| 指甲空了是什么原因| 肠胃炎吃什么食物| 马兰头是什么菜| 1978属什么| 广东菜心是什么菜| 枸杞有什么作用| 洁字五行属什么| 吃桃有什么好处| 芼什么意思| 流觞是什么意思| 指甲花学名叫什么| 凌晨三点醒是什么原因| nu11是什么意思| 双子座和什么星座最配| 胃反酸烧心吃什么药| 什么是阑尾炎| 喝完酒头疼吃什么药| 通告是什么意思| hpv73阳性是什么意思| 男人精液少是什么原因| 脱氧核苷酸是什么| 迪拜为什么那么有钱| 色彩斑斓是什么意思| 浙江有什么城市| 蜂蜜什么时候吃最好| 心悸吃什么药| 自然流产的症状是什么样的| 石敢当是什么神仙| 近亲是什么意思| 高血压吃什么好| 骨折和骨裂有什么区别| 高明是什么意思| 性格好的女生是什么样| 种植牙有什么危害| 胰腺炎为什么喝水就死| 百香果和什么搭配好喝| 花开花落不见你回头是什么歌| 静对什么| 生物技术专业学什么| 黄体期是什么| 女生什么时候绝经| 女性为什么会感染巨细胞病毒| 安全期是指什么时间| 缺钾有什么症状| 突如其来什么意思| 什么是三重一大事项| 4月29日是什么星座| 10.14是什么星座| 红色药片一般是什么药| 口腔溃疡吃什么中成药| 血尿是什么原因引起的| 长时间手淫有什么危害| 胸口堵是什么原因| 降调针什么时候打| 上吐下泻吃什么药| 无后为大是什么意思| 秋葵有什么作用| 什么是肺磨玻璃结节| 烫伤抹什么药膏| 神经质是什么意思| 射手男喜欢什么样的女生| 球蛋白低是什么原因| 县政府党组成员什么级别| 异位妊娠是什么意思| 孕妇做无创是检查什么| 柠檬茶喝了有什么好处| 阴道为什么会排气| 血管瘤是什么| 多发淋巴结是什么意思| 笨和蠢有什么区别| 梦见马是什么意思| 紫外线是什么意思| 孕妇腿抽筋是什么原因| 医院为什么不推荐腹膜透析| 悲欢离合是什么意思| 排便方式改变指什么| 预激综合征是什么病| mews评分是什么意思| 果是什么结构的字| 卧推80公斤什么水平| 养肝要吃什么| 胃窦炎是什么病| 头发不干就睡觉有什么危害| 月经期血块多是什么原因| 七月份有什么节日吗| 珍珠奶茶的珍珠是什么做的| 生小孩有什么补贴政策| 嬴稷和嬴政是什么关系| 芙蓉粉是什么颜色| dha什么时候吃效果最好| 3月21日什么星座| 红红火火是什么意思| 火丹是什么原因造成的| 化疗后吃什么药| 字号是什么意思| 蓝莓什么时候开花结果| hcg翻倍不好是什么原因造成的| 什么是继发性肺结核| 西洋参有什么作用和功效| ige高是什么意思| 百度

世界花样滑冰锦标赛 中国两对双人滑选手晋级

本文介绍了Python中的字符串特性,包括字符串的驻留机制、查询操作、大小写转换、对齐方法、劈分、比较、切片、格式化、编码解码。同时,讲解了函数的定义、调用、参数传递、返回值、变量作用域以及递归函数的概念。文章还涉及到了编程中常见的错误类型和异常处理,并简单介绍了类和对象的基本概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

字符串

1.字符串介绍

字符串在python中是基本数据类型,是一个不可变的字符序列

2.字符串的驻留机制

仅保存一份相同且不可变字符串的方法,不同的值被存放在字符串的驻留池中,Python的驻留机制对相同的字符串只保留 一份拷贝,后续创建相同字符串时,不会开辟新空间,而是把该字符串的地址赋给新创建的变量
驻留机制的几种情况(交互模式)

  • 字符串的长度为0或1时
  • 符合标识符的字符串
  • 字符串只在编译时进行驻留,而非运行时
  • [-5, 256]之间的整数数字

sys中的intern方法强制2个字符串指向同一个对象

PyCharm对字符串进行了优化处理

字符串驻留机制的优缺点

  • 当需要值相同的字符串时,可以直接从字符串池里拿来使用,避免频繁的创建和销毁,提升效率和节约内存,因此拼接字符串和修改字符串是比较印象性能的。
  • 在需要进行字符串拼接时建议使用str类型的join方法, 而非 + , 因为join()方法是先计算出所有字符中的长度,然后再拷贝,只new(创建)一次对象,效率要比使用“+”的效率高。

3.字符串的查询操作方法

index() 查找子串substr第一次出现的位置,如果查找的子串不存在时,则抛出ValueError

s='hello,hello'
print(s.index('lo'))	#输出3

rindex() 查找子串substr最后一次出现的位置,如果查找的子串不存在时,则抛出ValueError

s='hello,hello'
print(s.rindex('lo'))	#输出9

find() 查找子串substr第一次出现的位置,如果查找的子串不存在时,则返回-1

s='hello,hello'
print(s.find('lo'))	#输出3

4.字符串大小写转换方法

upper()把字符串中所有字符都转成大写字母

s='hello'
a=s.upper()
print(a)	#输出HELLO(a和s的地址不同,即产生一个新的字符串对象)

lower()把字符串中所有字符都转换成小写字母

s='HeLLo'
a=s.lower()
print(a)	#输出hello

swapcase()把字符串中所有大写字母转换成小写字母,把所有小写字母转换成大写字母

s='HeLlo'
a=s.swapcase()
print(a)	#输出hElLO

capitalize()把第一个字符转换为大写,把其余字符转换为小写

s='hellO,pYthon'
a=s.capitalize()
print(a)	#输出Hello,python

title()把每个单词的第一个字符转换成大写,把每个单词剩余字符转换为小写

s='HeLLO,pyThON'
a=s.title()
print(a)	#输出Hello,Python

5.字符串对齐

  • center()居中对齐,第1个参数指定宽度,第2个参数指定填充符,第2个参数是可选的,默认是空格,如果设置宽度小于实际宽度则返回原字符串

  • ljust()左对齐,第1个参数指定宽度,第2个参数指定填充符,第2个参数是可选的,默认是空格,如果设置宽度小于实际宽度则返回原字符串

  • rjust()右对齐,第1个参数指定宽度,第2个参数指定填充符,第2个参数是可选的,默认是空格,如果设置宽度小于实际宽度则返回原字符串

  • zfill()右对齐,左边用0填充,该方法只接收一个参数,用于指定字符串的宽度,如果指定的宽度小于等于字符串的长度,返回字符串本身

6.字符串劈分

在这里插入图片描述

'''split'''
s='hello world python'
lst=s.split()	#默认劈分符为空格
print(lst)	#输出['hello','world','python']
s1='hello|world|python'
print(s1.split(sep='|'))	#通过参数sep指定劈分字符串,输出['hello','world','python']
print(s1.split(sep='|',maxsplit=1))	#通过参数maxsplit指定劈分字符串时最大劈分次数,输出						    			['hello','world|python']
'''rsplit'''
lst1=s.rsplit()
print(lst1)	#输出['hello','world','python']
print(s2.rsplit(sep='|'))	#输出['hello','world','python']
print(s2.rsplit(sep='|',maxsplit=1))	#输出['hello|world', 'python']

7.判断字符串操作的方法

isidentifier()判断指定的字符串是不是合法的标识符

s='hello,python'
print(s.isidentifier())	#False
print('hello'.isidentifier())	#True
print('张三_'.isidentifier())	#True

isspace()判断指定的字符串是否全部由空白字符组成(回车、换行、水平制表符)

print('\t'.isspace)	#True
  • isalpha()判断指定的字符串是否全部由字母组成

  • isdecimal()判断指定字符串是否全部由十进制的数字组成

  • isnumeric()判断指定的字符串是否全部由数字组成

  • isalnum()判断指定字符串是否全部由字母和数字组成

8.字符串的替换和合并

在这里插入图片描述

'''replace()'''
s='hello,python'
print(s.replace('python','java'))	#用java替换python,输出hello,java
s1='hello,python,python,python'
print(s1.replace('python','java',2))	#输出hello,java,java,python
'''join()'''
lst=['hello','java','python']
print('|'.join(lst))	#输出hello|java|python
print(''.join(lst))	#输出hellojavapython
print('*'.join('python'))	#输出p*y*t*h*o*n

9.字符串的比较操作

运算符:>,>=,<,<=,==,!=

比较规则 : 首先比较两个字符串中的第一个字符,如果相等则继续比较下一个字符,依次比较下去,直到两个字符串中的字符不相等时,其比较结果就是两个 字符串的比较结果,两个字符串中的所有后续字符将不再被比较

比较原理 : 两上字符进行比较时,比较的是其ordinal value(原始值),调用内置函数ord可以得到指定字符的ordinal value。与内置函数ord对应的是内置函数chr, 调用内置函数chr时指定ordinal value可以得到其对应的字符

print('apple'>'app')	#True
print('apple'>'banana')	#False

10.字符串的切片操作

字符串是不可变类型,切片将产生新的对象

s='hello,world'	#[start:end:step]
s1=s[0:5]	#第一个数字不写默认从零开始,第二个数字不写默认到最后结束
print(s1)	#s1为hello
s0='hello,python'
s2=s0[0:7:2]	#s2为hlop
s3=s0[::-1]	#s3为nohtyp,olleh
s4=s0[-6::1]	#s4为python

11.格式化字符串

在这里插入图片描述

'''%s占位符'''
name='张三'
age=30
print('我叫%s,今年%d岁' % (name,age))
'''{}占位符'''
print('我的名字叫{0},我今年{1}岁,我真的叫{0}'.format(name,age))
'''f-string格式化'''
print(f'我叫{name},今年{age}岁')
'''其他'''
print('%10d',99)	#10表示的是宽度
print('%.3f'%3.141592)	#四舍五入保留三位小数
print('%10.3f'%3.1415926)	#10为宽度,3为保留的小数点后位数
print('{0:.3}'.format(3.1415278))	#0为索引,3为保留位数(一共的位数),输出3.14
print('{0:.3f}'.format(3.1415278))	#.3f为保留三位小数
print('{0:10.3f}'.format(3.1415278))	#.3f为保留三位小数,10为宽度

12.字符串的编码与解码

编码

s='天涯共此时'
'''在GBK这种编码格式中,一个中文占两个字节'''
print(s.encode(encoding='GBK'))	#输出:b'\xcc\xec\xd1\xc4\xb9\xb2\xb4\xcb\xca\xb1'
'''在UTF-8这种编码格式中,一个中文占三个字节'''
print(s.encode(encoding='UTF-8'))	'''输出:b'\xe5\xa4\xa9\xe6\xb6\xaf\xe5\x85\xb1\xe6\xad\xa4\xe6\x97\xb6''''

解码

s='天涯共此时'
byte=s.encode(encoding='GBK')	#编码
print(byte.decode(encoding='GBK'))	#解码
byte=s.encode(encoding='UTF-8')	#编码
print(byte.decode(encoding='UTF-8'))	#解码

函数

1.函数的定义与调用

'''创建'''
def	函数名([输入参数]):
    函数体
   [return xxx]
#例如:
def calc(a,b):
    c=a+b
    return c
#调用
result=calc(10,20)
print(result)

在这里插入图片描述

2.参数的传递

位置传参

def cala(a, b):	#a和b称为形式参数,简称形参,形参的位置是在函数定义处
    c = a + b
    return c
result=cala(10,20)	#10和20为实际参数的值,简称实参,实参的位置是函数调用处
print(result)

关键字传参

def cala(a, b):	#a和b称为形式参数,简称形参,形参的位置是在函数定义处
    c = a + b
    return c
result=cala(b=10,a=20)	#10和20为实际参数的值,简称实参,实参的位置是函数调用处
print(result)

3.函数的返回值

函数返回多个值时,结果为元组

def fun(num):
    odd=[]	#存奇数
    even=[]	#存偶数
    for i in num:
        if i%2:
            odd.append(i)
        else:
            even.append(i)
    return odd,even
lst=[10,11,12,13,14,15]
print(fun(lst))	#输出([11, 13, 15], [10, 12, 14])

函数在定义时,是否需要返回值,视情况而定

4.函数参数的定义

函数定义时,给形参设置默认值,只有与默认值不符的时候才需要传递实参

def fun(a,b=10):
	print(a,b)
fun(100)	#只传一个参数,b采用默认值,输出100 10
fun(20,30)	#f30将默认值10替换,输出20 30

个数可变的位置参数:定义函数时,可能无法事先确定传递的位置实参的个数时,使用可变的位置参数;使用*定义个数可变的位置形参;结果为一个元组

def fun(*args):
    print(args)
fun(10)	#输出(10,)
fun(10,20,45,60)	#输出(10, 20, 45, 60)

个数可变的关键字形参:定义函数时,无法事先确定传递关键字的实参的个数时,使用可变的关键字形参;使用**定义个数可变的关键字形参;结果为一个字典

def fun(**args):
    print(args)
fun(a=10)	#输出{'a': 10}
fun(a=10,b=20,c=50)	#输出{'a': 10, 'b': 20, 'c': 50}

位置可变参数和关键字可变参数只能是一个

def fun(*args,*args1)	#会报错,因为个数可变参数只能有一个
	pass
def fun1(**args2,**args3)	#会报错,因为关键字可变参数只能有一个
	pass
def fun2(*args4,**args5)	#不会报错
	pass

5.变量的作用域

程序代码能访问该变量的区域

局部变量:在函数内定义并使用的变量,只在函数内部有效,局部变量使用global声明,这个变量就会就成全局变量

def fun(a,b):
    c=a+b	#c称为局部变量,因为c实在函数体捏进行定义的变量,a,b为函数的形参,作用范围也是函				#数内部,相当于局部变量
    print(c)
'''global声明为全局变量'''
def fun1():
    global age	#函数内部定义的变量,局部变量,局部变量使用global声明,这个变量就成了全局变量
    age=20
    print(age)

全局变量:函数体外定义的变量,可作用于函数内外

name='小朱'	#name的作用范围为函数内部和外部都可以使用,称为全局变量
print(name)
def fun():
    print(name)

6.递归函数

如果在一个函数的函数体内调用了该函数本身,这个函数就称为递归函数

递归的组成部分有递归调用与递归终止条件

递归的调用过程:

  • 每递归调用一次函数,都会在栈内存分配一个栈帧

  • 每执行完一次函数,都会释放相应的空间

递归的优缺点:

  • 缺点:占用内存多,效率低下

  • 优点:思路和代码简单

'''递归计算阶乘'''
def fun(n):
    if n==1:
        return 1
    else:
        return n*fun(n-1)
print(fun(6))

BUG

1.Bug的常见类型

粗心导致的语法错误

 
'''1'''
age=input('请输入你的年龄:')	#input输入的都是str类型,需要强制类型转换
if age>=18
	print('成年人,做事需要负法律责任')
'''2'''
while i<10:	#没有给i赋值
    print(i)	#用了中文括号

漏了末尾的冒号,如if循环语句,else子句等

缩进错误,该缩进的不缩进,不该缩进的瞎缩进

把英文符号写成中文符号,比如引号、冒号、括号

字符串拼接的时候,把字符串和数字拼在一起

没有定义变量,比如while的循环条件的变量

“==”比较运算符和“=”赋值运算符的混用

2.被动掉坑

'''若除数为0,则程序将会报错:ZeroDivisionError'''
a=int(input('请输入一个整数'))
b=int(input('请输入一个整数'))
result=a/b
print('结果为:',result)
'''利用try-expect结构'''
try:
    a=int(input('请输入一个整数'))
    b=int(input('请输入一个整数'))
    result=a/b
    print('结果为:',result)
expect ZeroDivisionError:	#如果出现ZeroDivisionError错误将会执行以下语句
    print('除数不能为0')

可以采用try-expect-expect-expect…结构,也可以采用try-expect-expect…else结构

try:
    a=int(input('请输入一个整数'))
    b=int(input('请输入一个整数'))
    result=a/b
except ZeroDivisionError:	#如果出现ZeroDivisionError错误将会执行以下语句
    print('除数不能为0')
except ValueError:
    print('出错了')
else:
    print('结果为:',result)

try-except-except…else-finally结构:

和上面的差不多,唯一不同的就是不论是否报错,finally块都会执行

python中常见的异常类型

序号异常类型描述
1ZeroDivisionError取(或取模)零(所有数据类型)
2IndexError序列中没有此索引(index)
3KeyError映射中没有这个键
4NameError未声明/初始化对象(没有属性)
5SyntaErrorpython语法错误
6ValueError传入无效的参数

1.traceback模块的使用

import traceback
try:
    print('-----------')
    print(1/0)
except:
    traceback.print_exc()

在这里插入图片描述
输出的横线有时候在前,有时候在中,有时候在后。

类与对象

1.类与对象

类:类是多个类似事物组成的群体的统称。能够帮助我们快速理解和判断事物的性质

对象:100、99、520都是int类之下包含的类似的不同个例,这个个例专业术语称为实例或对象

2.类的创建

创建类的语法:

class Student:	
'''Student为类的名称,简称类名,由一个单词或多个单词组成,每个单词首字母大写,其余小写(不大写也可,不报错)'''
    pass

类的组成:类属性、实例方法、静态方法、类方法

class Student:
    native_pace='吉林'    #直接写在类里的变量,称为类属性
    def eat(self):  #实例方法,在类里面定义的称为方法,在类之外定义的叫函数
        print('学生在吃饭......')
    '''静态方法'''
    @staticmethod
    def method():   #静态方法不允许写self
        print('我使用了staticmethod进行修饰,所以我是静态方法')
    '''类方法'''
    @classmethod
    def cm(cls):
        print('我是类方法,因为我使用了classmethod进行修饰')
    def __init__(self,name,age):
        self.name=name  #self称为实例属性,进行了一个叫赋值的操作,将局部变量的name的值赋给实例属性,self.后不一定非叫name,叫什么都可以,name只是一种习惯
        self.age=age

3.对象的创建

对象的创建又称为类的实例化

语法:实例名=类名()

#创建Student类的实例对象
stu=Student('Jack',20)
print(stu.name)	#实例属性
print(stu.age)	#实例属性
stu.info()	#实例方法

意义:有了实例,就可以调用类中的内容

class Student:
    native_pace='吉林'    #直接写在类里的变量,称为类属性
    def eat(self):  #实例方法,在类里面定义的称为方法,在类之外定义的叫函数
        print('学生在吃饭......')
    '''静态方法'''
    @staticmethod
    def method():   #静态方法不允许写self
        print('我使用了staticmethod进行修饰,所以我是静态方法')
    '''类方法'''
    @classmethod
    def cm(cls):
        print('我是类方法,因为我使用了classmethod进行修饰')
    def __init__(self,name,age):
        self.name=name  #self称为实例属性,进行了一个叫赋值的操作,将局部变量的name的值赋给实例属性,self.后不一定非叫name,叫什么都可以,name只是一种习惯
        self.age=age
#创建Student类的对象
stu1=Student('张三',20)
stu1.eat()	#对象名.方法名
Student.eat(stu1)	#与上一行代码功能相同,都是调用Student中的eat方法
				   #类名.方法名(类的对象)-->实际上就是方法定义处的self
print(stu1.name)
print(stu1.age)

4.类属性

类属性:类中方法外的变量称为类属性,被该类的所有对象所共享

类方法:使用@classmethod修饰的的方法,使用类名直接访问的方法

静态方法:使用@staticmethod修饰的方法,使用类名直接访问的方法

class Student:
    native_pace='吉林'    #直接写在类里的变量,称为类属性
    def eat(self):  #实例方法,在类里面定义的称为方法,在类之外定义的叫函数
        print('学生在吃饭......')
    '''静态方法'''
    @staticmethod
    def method():   #静态方法不允许写self
        print('我使用了staticmethod进行修饰,所以我是静态方法')
    '''类方法'''
    @classmethod
    def cm(cls):
        print('我是类方法,因为我使用了classmethod进行修饰')
    def __init__(self,name,age):
        self.name=name  #self称为实例属性,进行了一个叫赋值的操作,将局部变量的name的值赋给实例属性,self.后不一定非叫name,叫什么都可以,name只是一种习惯
        self.age=age
#类属性的使用方式
print(Student.native_pace)
stu1=Student('张三',20)
stu2=Student('李四',30)
print(stu1.native_pace) #输出吉林
print(stu2.native_pace) #输出吉林
Student.native_place='天津'
print(stu1.native_pace) #输出天津
print(stu2.native_pace) #输出天津
#类方法的使用方式
Student.cm()
#静态方法的使用方式
Student.method()

5.动态绑定属性和方法

python是动态语言,在创建对象之后可以动态的绑定属性和方法

class Student:
    def __init__(self,name,age):
        self.name=name
        self.age=age
    def eat(self):
        print(self.name+'在吃饭')
stu1=Student('张三',20)
stu2=Student('李四',30)
#为stu2动态绑定性别属性
stu2.gender='女'
print(stu1.name,stu1.age)
print(stu2.name,stu2.age,stu2.gender)
'''为stu1绑定show函数'''
def show():
    print('定义在类之外的,称为函数')
stu1.show=show  #为stu1绑定了show函数
stu1.show()
stu2.show() #这行代码会报错,因为没有为stu2绑定show函数
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
曹仁和曹操什么关系 乐五行属性是什么 附睾炎是什么原因引起的 甲状腺低回声什么意思 血止不住是什么原因
eos是什么意思 大耳读什么 中蛊什么意思 急性中耳炎吃什么药 pppd是什么意思
肠道胀气吃什么药 时辰宜忌是什么意思 血糖高吃什么主食最好 五代十国是什么意思 为什么会长瘊子
梦见鞋丢了是什么意思 东北易帜是什么意思 脑溢血有什么后遗症 做爱是什么感觉 社康是什么意思
毛峰茶属于什么茶weuuu.com 高考推迟月经吃什么药hcv9jop6ns1r.cn 吃鸡蛋有什么好处hcv9jop4ns7r.cn 什么样的星星hcv9jop6ns9r.cn 尿黄是因为什么hcv7jop9ns9r.cn
舌苔黄厚是什么原因hcv9jop3ns4r.cn 人做梦是什么原因travellingsim.com 腋下疼痛什么原因hcv7jop4ns8r.cn 北京的市花是什么花hcv9jop1ns4r.cn 莲花与荷花有什么区别hcv9jop4ns4r.cn
做人流吃什么水果hcv9jop1ns0r.cn 小暑节气吃什么hcv8jop4ns3r.cn 清谷天指的是什么hcv8jop0ns6r.cn 14年属什么hcv7jop9ns7r.cn 肠胃不好能吃什么水果hcv9jop2ns0r.cn
7号来的月经什么时候是排卵期hcv8jop7ns9r.cn 天麻泡水喝有什么功效hcv8jop2ns0r.cn 魂牵梦绕的意思是什么hcv9jop1ns8r.cn 为什么会感染幽门螺旋杆菌hcv8jop0ns2r.cn 狗狗哭了代表什么预兆clwhiglsz.com
百度