zoukankan      html  css  js  c++  java
  • Python第十节课==对象的方法

    #20200927   第十节课  
    #对象的方法,方法其实就是一种函数,只是方法是放在类当中的
    # str1='fasdg' #str.出来的那些就是方法
    # #方法一:str.isdigit() #判断某个字符串是否是由纯数字组成 注意是字符串 eg:
    # str2=123123123
    # str3='-1' #注意这个判断是否是纯数字也是False,因为符号不识别
    # #print(str1.isdigit()) #打印结果得False
    # # print(str2.isdigit()) #打印会报错,因为str2不是字符串
    # 方法二:isalpha() #判断某个字符串是否是纯字母
    # print(str1.isalpha()) #True
    #方法三:strip() #去掉字符串前后的特定字符,缺省值是去掉空格 eg:
    # stra=' f f f fe e '
    # print(stra.strip()) #只去掉字符串前后的空格
    # strs='!!njew jiew gbs!!!'
    # print(strs.strip('!')) #也可以去掉字符串前后的任意字符,只要把缺省值空格改成要去掉的东西就好了
    # 思考:怎么去掉一个字符串的全部相同的某个东西?用replace() eg:
    # staaa='***f*r**e*e**g*h*j*'
    # print(id(staaa))
    # print(id(staaa.replace('**',''))) #不是只替换一个,而是全部你都替换
    #打印得:*f*re*eg*h*j*,把要去掉的东西改成,替换成 replace('旧值',‘新值’)
    # staaa='*$$*&&*f*r**e*e**g*h*j*'
    # print(staaa.replace('*',' ').replace('$','1').replace('&','2'))
    #还可以多个replace一起用,因为replace返回的是字符串,而字符串就可以用replace方法
    # startswith,判断是否以某些字符开头,endswith,判断是否以某些字符结束
    # 思考题:判断用户输入的某个身份证是否是重庆的身份证,如果是就打印是的,不是就打印不是的
    # sfz=input('请输入你的身份证:')
    # if len(str(sfz!=18)):
    # print ("请输入您的18位身份证号码")
    # else:
    # print('是')
    # if sfz[:16].isdigit():
    # print ("请输入纯数字")
    # else:
    # print('是的')
    # if sfz.startswith('5'):
    # print('重庆人')
    # else:
    # print('不是的') #瞎想的程序,不成熟,有空再完善
    #思考题:判断某个身份证是否是重庆的身份证,如果是就打印是的,不是就打印不是的
    # sfz='500388199906066666'
    # if sfz.startswith('5'):
    # print('是的')
    # else:
    # print('不是的')
    #判断一个身份证的主人的性别,身份证倒数第二位是基数则为男,偶数即为女

    #:方法:split(参数),以参数为分隔符对字符串进行切割,切割之后的返回值是一个列表,切割符不会消失。eg:
    # sta='hdhudijdgkodhg'
    # #print(sta.split('d')) #得:['h', 'hu', 'ij', 'gko', 'hg'],返回的是列表
    # # print(sta.split('g')) #得:['hdhudijd', 'kodh', ''],如果是以首未字符作为切割符进行切割,则会出现空字符
    # print(sta.split('h')) #得:['', 'd', 'udijdgkod', 'g']

    #join()方法,拼接字符串
    查='aaa'
    #print(查.join('fffff')) #得到faaafaaafaaafaaaf 是把查看成一个整体插入了fffff中间
    print(查.join(['e','r','t'])) #得:eaaaraaat













    新田老师的课程笔记详:
    #20200927  第十节课:对象的方法
    # 课程大纲:
    '''
    1- 字符串的方法 (本节课重点)
    2- 列表的方法
    3- 查看python手册
    '''
    # 对象的方法的概念:
    # **在python中一切类型的数据都是对象:数据和方法
    # **对象的数据:
    # *对象所对应的储存的东西,是静态的部分
    # *比如: a='sd123456'
    # **对象的方法:
    # *可以看做对象的行为,是动态的部分
    # *对象的方法其实就是属于该对象的函数
    # 1- 字符串的方法 *本节课重点
    # 1*count()方法:计算字符串中包含的多少个指定的字符串:eg:
    # print('123123 789'.count('123')) #打印得:2,说明有两个123
    # 2*endswith()函数:检查字符串是否已指定的字符串结尾
    # print('lalal'.endswith('al')) #打印得True
    # 3*startwith()函数:检查字符串是否以指定的字符串开头
    # print('六友是沙比'.startswith('六友')) #打印得True
    # 4*find()方法:返回指定的子字符串在字符串中出现的位置(下标) eg:
    # str='我和我的祖国,我们一刻也不能分割'
    # 如果子符串中没有指定的子字符串,返回-1:
    # -注意:find()与index()求下标函数的区别,index()是一定要有这个元素才行:
    # print(str.find('已')) #没有指定的子字符串,返回-1:
    # print(str.index('已')) #如果字符串中没有这个元素,是会报错的
    # 如果子字符串中包含多个指定字符串,返回第一个值的位置,0:
    # print(str.find('我'))
    # 如果子字符串中包含多个元素以上,返回第一个元素所在位置,2:
    # print(str.find('我的'))
    # 还可以指定位置查找,及有多个相同元素的时候,越过该元素下标找后面的元素的下标
    # print(str.find('我',3))#表示从第3位之后开始找'我'这个字,打印得:7
    # 针对指定位置找,还可以把代码写得更灵活一些,如:
    # print(str.find('我',str.find('我')+1)) #表示的是找文中第二个'我',打印得第二个'我'的下标2
    # 5*isalpha()方法:检查字符串中是否都是字母:
    # print('安徽jmdk12'.isalpha()) #打印得False
    # 6*isdigit()方法:检查字符串中是否都是数字,注意是字符串!!!:
    # print('15615682567'.isdigit()) #打印得True,注意,有符号也是返回的False
    # 7*str.join()方法:拼接.将sequence类型的参数的元素字符串合并(连接)到一个字符串,string作为分割符
    # print('*'.join('我和我的祖国')) #如果是一整串字符串,则把*间隔放入,打印得:我*和*我*的*祖*国
    # print('%'.join(['好','看','的','风','景'])) #打印得:好%看%的%风%景,注意如果有多个字符串,一定要用列表!!否则会报错,因为方法只接受一个元素
    # print('&'.join({'name':'Tom','age':'23'})) #打印得:name&age,join方法也可以兼容字典,只会对键名进行拼接
    # 8*split()方法:将字符串分割为几个子字符串,参数为分割符:
    # print('我 和 我 的 祖 国'.split(' ')) #打印得:['我', '和', '我', '的', '祖', '国']
    # print('我*和*我*的*祖*国'.split('*')) #打印得:['我', '和', '我', '的', '祖', '国']
    # print('{'name':'Tom','age':'23'}'.split(,)) #报错,不可以对json字符串进行分割
    #--以不在首尾位的'j'作为切割符,分割出来有三个元素,
    # print('afjdnjklm'.split('j')) #打印得:['af', 'dn', 'klm']
    #--以首位作为切割符,则首位是一个空列表,再对后面的字符串进行正常切割
    # print('afjdnajklm'.split('a')) #打印得:['', 'fjdn', 'jklm']
    #--以尾位作为切割符,则前面正常切割,但是尾位是一个空列表
    # print('afjdmnajklm'.split('m')) #打印得:['afjd', 'najkl', '']
    #==首尾都是同一个元素且为分割符,则字符串中间正常切割,首尾位是空列表
    # print('hjsjifsjkh'.split('h')) #打印得:['', 'jsjifsjk', '']
    # 9*lower()方法:将字符串里有大写字母的全部转换为小写字母:
    # print('jdsKNnk'.lower()) #打印得:jdsknnk
    # 10*upper()方法:将字符串里有小写字母的全部转化为大写字母:
    # print('gfuJIFWEHFjiodj '.upper()) #打印得:GFUJIFWEHFJIODJ
    # 11*replace()方法:替换字符串里指定的子字符串,默认全部替换:
    # print('hyfuf'.replace('f','*')) #打印得:hy*u*
    # print('hfffyfuf'.replace('f','*',2)) #也可在参数中设定指定个数,打印得:h**fyfuf
    # 12*strip()方法:将字符串前置空和后置空格删除
    # print(' jui efhf inf '.strip()) #打印得:jui efhf inf,中间的空格无法删除
    # 12-1*lstrip()方法:将字符串前面的空格删除:
    # print(' jui efhf inf '.lstrip()) #打印得:jui efhf inf .只删除了字符串前面的空格
    # 12-2*rstrip()方法:将字符串后面的空格删除:
    # print(' jui efhf inf '.rstrip()) #打印得: jui efhf inf,只删除了后面的空格
    # 思考:怎么剔除该字符串的所有空格? 如下:
    # 方法一:
    # str=' jui efhf inf '
    # print(str.replace(' ','')) #打印得:juiefhfinf,空格都被替换掉了
    # 方法2:按空格切split()然后拼接join():
    # str=' jui efhf inf ' #太麻烦了,方法不做详解
    # 2- 列表的方法:
    # -常用操作:
    # list=[1,2,3,4,5,6]
    # # 1.查找元素:通过下标获取(正负下标)
    # # print(list[2]) #打印得:3
    # # 2.修改元素:alist[0]=10
    # list[3]=9
    # # print(list) #打印得:[1, 2, 3, 9, 5, 6]
    # # 3.增加元素两种方法:
    # # -1尾部增加:alist.append(值)
    # list.append('我爱我的祖国')#*注意,append只能填一个值
    # # print(list) #打印得:[1, 2, 3, 9, 5, 6, '我爱我的祖国']
    # # -2任意位置增加元素:(1) list.insert(位置下标,值)
    # # (2) 插入的下标为负数时等价于-append()
    # list.insert(list[0],6) #*注意是在第0位的后面增加元素
    # # print(list) #打印得:[1, 6, 2, 3, 9, 5, 6, '我爱我的祖国']
    # list.insert(list[-2],-6) #*下标为负数时倒着数的,表示在倒数第二位前面加入一个值
    # # print(list) #打印得:[1, 6, 2, 3, 9, 5, -6, 6, '我爱我的祖国']
    # # 4.删除元素:
    # # 1- del list[下标]
    # del list[-1]
    # # print(list) #打印得:[1, 6, 2, 3, 9, 5, -6, 6],最后一位被删除了
    # del list[:-5] #*del 还可以删除切片
    # print(list) #打印得:[3, 9, 5, -6, 6],0到倒数第五位(不包括)被删除;
    # list.pop(1) #*pop()中的参数直接填要删除的下标即可
    # print(list) #打印得:[3, 5, -6, 6]
    # 5.合并列表:
    # 1-另存:list=list1+list2
    # list1=[1,2]
    # list2=['我','和','我','的','祖','国']
    # list=list1+list2
    # print(list) #打印得:[1, 2, '我', '和', '我', '的', '祖', '国']
    # 2-扩展列表元素:list.extend(),同时将多个值附加到列表末尾
    # list=['我','和','我','的','祖','国']
    # list.extend([1,2]) #表示的是把extend里面的列表赋值到list的后面
    # print(list) #打印得:['我', '和', '我', '的', '祖', '国', 1, 2]
    # 3- 查看python手册:python 版本 manuals


    '''
    思考题;需求:
    1-要求用户输入手机号
    2-判断用户的运营商:移动130-150,联通151-170,电信171-190
    3-对用户输入的手机号有误的需要给出相应的提示
    '''
    '''
    编程思路分析:
    tel=input('请输入您的手机号')
    #if 1-判断是否是纯数字
    2-判断手机位数
    #3- 获取号段 -temp
    if temp是移动:
    移动
    elif temp是联通:
    联通
    elif temp是电信:
    电信
    else:
    不存在该号码
    else:
    '''
    # tel=input('请输入您的手机号:')
    # if tel.isdigit():
    # if len(tel)==11:
    # haoduan=tel[:3]
    # if haoduan>='130' and haoduan<='150':
    # print('移动')
    # elif haoduan>='151' and haoduan<='170':
    # print('联通')
    # elif haoduan>='151' and haoduan<='170':
    # print('电信')
    # else:
    # print('请输入正确字段的手机号')
    # else:
    # print('输入的手机号不足11位,请重新输入')
    #
    # else:
    # print('请输入纯数字')
    # 以上是关于思考题的代码


























    
    
  • 相关阅读:
    ubuntu安装ruby的几种方法总结
    使用一年ESB感受
    web工程迁移---在一个jboss5或jboss6中运行多个实例
    web工程迁移---weblogic8迁移到jboss5遇到的异常
    web工程迁移---jboss5迁移到jboss6
    Git使用(3)
    Git使用(2)
    Git使用(1)
    Spring4 mvc+maven 框架搭建(3)
    Spring4 mvc+maven 框架搭建(2)
  • 原文地址:https://www.cnblogs.com/66-liu/p/13822082.html
Copyright © 2011-2022 走看看