首页 > 编程语言 >python今日分享(内置方法)

python今日分享(内置方法)

时间:2022-09-29 23:33:21浏览次数:44  
标签:11 内置 python res s1 字符串 l1 print 分享

目录

一、习题详解

二、数据类型的内置方法理论

三、整型相关操作

四、浮点型相关操作

五、字符串相关操作

六、列表相关操作


今日详解

一、习题详解

1.计算1-100所有数据之和

all_num = 0
# 先定义记录数字之和为0的计数器
for i in range(1, 101):
# 用昨天内容“range”循环绑定一个1---100的数值(骨头不顾尾)
	all_num +=i  # all_num = all + i
# 等待for循环运行结束 打印计数器
print(all_num)  # 5050

2.判断列表中数字2出现的次数

l1 = 【11, 2, 3, 2, 2, 1, 2, 1, 2, 3, 2, 3, 2, 3, 4, 3, 2, 3, 2, 2, 2, 2, 3, 2】
# 先定义一个记录数字2出现次数的计数器
count_num = 0
# 循环获取列表中每一个数据半段是不是数字2
for i in l1:
#如果i绑定数据值是2,则让计数器自己增加1
	if i ==2:
		count_num += 1
# 等待for循环运行结束 打印计数器
print(count_num)  # 13

3.编写代码自动生成所以页网址(注意总共多少页)

https://movie.douban.com/top250?start=0&filter=
https://movie.douban.com/top250?start=25&filter=
https://movie.douban.com/top250?start=50&filter=
# 找寻其规律等差25
base_ur1 = 'https://movie.douban.com/top250?start=%s&filter='
for i in range (0, 225,25):
	print(base_ur1 % i)

4.编写代码打印出下列图形(ps:for循环嵌套)

*****  
*****  
*****  
*****
for i in range(4):  # 0 1 2 3   4次   4行
	for k in range(5):  # 0 1 2 3 4   5次   5列
		print('*', end= '')
	print()

二、数据类型内置方法理论

内置方法即是每个数据类型自带的功能
数据类型总类:
1.整型 2.浮点型 3.列表型 4.字典型
5.字符型 6.布尔值 7.元组 8.集合
使用数据类型的内置方法统一采用句点符(.)
如:'rain'. 字符串必备的方法()
name = 'rain'
name. 字符串必备的方法()

三、整型内置方法与操作

  • 关键字:int()
  • 整型就是整数 ,主要用于计算,没有内置方法
  • 类型转换:int('代转换的数据')
# res = int(11.11)  # 11 浮点型可以直接转换
# res = int(11.57)  # 11 python自身对数字的敏感度较低(精确度低),如果需要进准的计算需要借助于模块numpy.....
# res = int('11')  # 11 字符串中纯数字可以转
# res = int('11.11')  # 字符串中必须是纯数字才可以转否则报错
# print(res, type(res))
  • 进制数转换如下:
print(bin(100))  #bin()将十进制转换为二进制    0b 是二进制的标识    0b1100100
print(oct(100))  #oct()将十进制转换为八进制    0o 是八进制的标识    0o144
print(hex(100))  #hex()将十进制转换为十六进制  0x 是十六进制的标识   0x64

-----------------------------------------------------------------------------
其他进制转十进制:
print(int(0b1100100))
print(int(0o144))
print(int(0x64))

print(int("0b1100100", 2))
print(int("0o144", 8))
print(int("0x64", 16))

四、浮点型内置方法与操作

  • 关键字:folat()
  • 字符串里面可以允许出现一个小数点 其他都必须是纯数字
  • python自身对数字的敏感度较低(精确度低),如果需要进准的计算需要借助于模块numpy.....
# res = float(11)  # 11.0 整型可以直接转浮点型,自动填补.0
# res = float('11')  # 11.0 字符串可以直接转,自动填补.0
# res = float('11.11')  # 11.11 又一个小数点也可以转
# res = float('1.1.1.1')  # 不行 说明只认识一个小数点
# res = float('abc')  # 不行 说明只有数字字符串才可以转
# print(res, type(res))

字符串内置方法与操作

  • 关键字:str()
  • 类型转换:字符串可转换所有数据值(只需要在前后加引号即可)
  • 转换的方法
    1.索引取值 : 单个字符 (支持负数)
s1 = 'Surprise'  # 条件 (惊喜)
print(s1[0])  # S 单个字符去除
print(s1[-1])  # e 负数 从后往前

2.切片取值:多个字符 ,支持负数,切片的顺序默认为从左往右

s1 = 'Surprise'  # 条件 (惊喜)
print(s1[1:5])  # urpr 顾头不顾尾 从索引1一直窃取到索引4 默认顺序从左往右
print(s1[-1:-5])  # 没有 默认顺序从左往右
print(s1[-5:-1])  # pris 默认顺序从左往右
  • 切片取值时,顺序默认从左往右,当第三个参数赋值为-1时,循序变为从右往左打印,若没有给第三个参数赋
    值则默认为1。取值的时候是遵循顾头不顾尾的原则,第二个参数数默认减一
    3.修改切片方向(间隔)
s1 = 'Surprise'  # 条件 (惊喜)
print(s1[1:5:1])  # urpr 默认是1不间隔 (顾头不顾尾)左到右 索引1到索引4
print(s1[1:5:2])  # up 默认是1 从索引1到索引4跳一个拿一个
print(s1[-1:-5:-1])  # esir 默认是-1 不间隔从右往左要到-4
print(s1[:])  # Surprise 不写数字就默认都要
print(s1[2:])  # rprise 从索引2开始往后都要
print(s1[:5])  # Surpr 从索引0开始往后要到4
print(s1[::2])  # Srrs 全都要每隔一个要一个
  • 间隔方向默认为从左往右
    4.统计字符串中字符的个数
s1 = 'Surprise'  # 条件 (惊喜)
print(len(s1))  # 8 该字符串有8个字符组成
  • 在使用len()统计字符个数时,其中的空格也在统计范围内
    5.移除字符首尾指导的字符
s1 = ' Surprise '  # 条件 (惊喜)
print(len(s1))  # 10 该字符串10个字符组成,空格也算。
print(len(s1.strip()))  # .strip括号内不写 默认移除首尾的空格

# res1 = '$$Surprise$$'
# print(res1.strip('$'))  # Surprise 括号里有'$'移除所有
# print(res1.lstrip('$'))  # Surprise$$ 括号里有'$'但是多了个字母“l”左,所以移除左边的'$'
# print(res1.rstrip('$'))  # $$Surprise
  • 运用字符串用内置的方法消除字符时,所表示的不是改变原始数据,而是产生了新的数据,随后输出来调用改
    变后的数据
  • 还可以进行左消除或者右消除操作:
  • 即在strip前加l或者r
  • l即left 即左消除
  • r即right 即右消除
    6.按照指定的字符切割字符串
res = 'ZGL|170|read'
print(res.split('|'))  # ['jason', '123', 'read']  该方法的处理结果是一个列表
name, pwd, hobby = res.split('|')  # 赋值 切割
print(res.split('|', maxsplit=1))  # ['ZGL', '170|read']  默认从左往右切指定个数
print(res.rsplit('|',maxsplit=1))  # ['ZGL|170', 'read']  从右往左切指定个数
  • 若出现连续的特征符号,考虑用切割操作。
  • 使用切割字符串时,默认为从左往右切割,若split前由r时,则为从右往左切割
  • 当需要切割次数时,使用maxsplit ,当后面的数值为多少就是需要切割多少次。
    7.字符串大小写相关
res = 'hElLO WorlD 666'
print(res.upper())  # HELLO WORLD 666 全大写
print(res.lower())  # hello world 666 全小写
图片验证码:生成没有大小写统一的验证码 展示给用户看 获取用户输入的验证码 将用户输的验证码和当初产生的验证码统一转大写或者小写再比对
code = '8Ja6Cc'
print('展示给用户看的图片验证码', code)
confirm_code = input('请输入验证码').strip()
if confirm_code.upper() == code.upper():
   print('验证码正确')
res = 'hello world'
print(res.isupper())  # 判断字符串是否是纯大写  False
print(res.islower())  # 判断字符串是否是纯小写  True
  • 进行大小写的相关操作时,使用lower()或者upper()操作可将字符串中所由字母进行大小写转换,进而使大小写
    穿插输入达到一致的结果。
  • 若其前加is 则为判断该字符串是否是全大写,或者全是小写。
    8.字符串的格式化输出
format玩法1:等价于占位符  # {} = %S\%d
  res = 'my name is {} my age is {}'.format('jason', 123)
  print(res)
format玩法2:索引取值并支持反复使用
  res = 'my name is {0} my age is {1} {0} {0} {1}'.format('jason', 123)
  print(res)
format玩法3:占位符见名知意
  res = 'my name is {name1} my age is {age1} {name1} {age1} {name1} '.format(name1='jason', age1=123)
  print(res)
format玩法4:推荐使用(******)不确定的因素占个位置
  name = input('username>>>:')
  age = input('age>>>:')
  res = f'my name is {name} my age is {age}'
  print(res)
# username>>>:zgl
# age>>>:18
my name is zgl my age is 18
  • 用字符串替换格式化输出,有四种方式,与前三种相比较,在输出结果前加f操作更加方便快捷
    9.判断字符串中是否为纯数字
res = ''
print(res.isdigit())
 guess_age = input('guess_age>>>:').strip()
if guess_age.isdigit():
guess_age = int(guess_age)
else:
print('年龄都不知道怎么输吗???')
  • 采用isdigit()方法对整型进行判断处理
    10.字符串替换
res = 'my name is zgl zgl zgl zgl'
    print(res.replace('zgl', 'tonySB'))  # my name is tonySB tonySB tonySB tonySB tonySB 替换
    print(res.replace('zgl', 'tonySB', 1))  # my name is tonySB jason jason zgl zgl  从左往右替换指定个数字符
(没有从右往左)
  • 采用replace()方法可以将字符串中的代码进行替换(遵循从左往右的原则)
  • 在原数据,替换数据之后填写一个数据值则为替换间隔数(没有填写则默认为0)
    11.字符串的拼接
ss1 = 'hello'  # 条件
ss2 = 'world'  # 条件
print(ss1 + '$$$' + ss2)  # 两个条件拼接——相加
print(ss1 * 10)  # 条件1×10
print('|'.join(['jason', '123', 'read', 'JDB']))
print('|'.join(['jason', 123]))  # 直接报错,参与拼接的数据值必须都是字符串
  • 字符串的拼接支持+ * 形式的拼接,拼接的结果为没有间隔的数据。
  • 当使用join()方法进行拼接时,join前的单引号中若为|则使用|来将其拼接结果进行分割。若为空则视为没有间隔
  • 列表中的数据都必须是字符串类型否则报错。
    12.统计字符串中指定字符出现的次数
res = 'hello world'
print(res.count('l'))  # 3 括号里是需要统计的东西
  • 相比于循环操作,采用.count()方法能够更加快捷的找到字符串中所需要的数据
    13.判断字符串的开头或者结尾
res = 'zhanggaoli say hello'  # 定义
print(res.startswith('zhanggaoli'))  # True 开始.startswith
print(res.startswith('z'))  # True 开始.startswith
print(res.startswith('zha'))  # True 开始.startswith
print(res.startswith('h'))  # False 不是开头
print(res.startswith('gao'))  # False 不是开头
print(res.startswith('li'))  # False 不是开头
print(res.endswith('o'))  # True 结尾.endswith
print(res.endswith('llo'))  # True 结尾.endswith
print(res.endswith('hello'))  # True 结尾.endswith
print(res.endswith('l'))  # False 拆开不是结尾
print(res.endswith('ell'))  # False 、不是结尾
  • 采用swith()方法判断字符串的开头或者结尾
  • swith前为start时是判断开头是否正确 可以是首字母,也可是前面的连续字母
  • swith前为end 时,则是判断结尾是否正确。可以是尾字母,也可以是最后的连续字母(这里是从左往右)
  • 拓展补充方法
    14.查找某个字符对应的索引值
res = 'hello world jason'
print(res.index('o'))  # 10
print(res.find('j'))  # 10
'''index查找索引 如果没有则报错'''
# print(res.index('d',0,5))
'''find查找索引 如果没有则返回-1'''
# print(res.find('d',0,5))  # -1
  • 使用index()时,如果在字符串中没有找到对应字符,则返回一个报错
  • 使用find()时,如果在字符串中没有找到对应字符,则返回-1,不抛出报错。
    15.正文相关操作
res = 'My Name IS bACk'
print(res.title())  # My Name Is Back
print(res.capitalize())  # My name is back
print(res.swapcase())  # mY nAME is BacK
  • capitalize(): 字符串第一个字母大写
  • title(): 字符串内的所有单词的首字母大写
  • swapcase():字符串内的所有大小写互换(原本大写打印出来就是小写,原本小写打印出来就是大写)

五、列表内置方法及操作

  • 关键字:list()
  • 类型转换:
    能够被for循环的数据类型都能转换成列表
    print(type(list(数据 )))
print(list('hello'))  # ['h', 'e', 'l', 'l', 'o']
print(list({'name': 'jason', 'pwd': 123}))  # ['name', 'pwd']
print(list((1, 2, 3, 4)))  # [1, 2, 3, 4]
print(list({1, 2, 3, 4, 5}))  # [1, 2, 3, 4, 5]
  • 方法与字符类型转换方法相同
      11 = [111, 222, 333, 444, 555, 666, 777, 888]
    # 1.索引取值(正负数)
    # print(l1[0])
    # print(l1[-1])
    # 2.切片操作    与字符串讲解操作一致
    # print(l1[0:5])
    # print(l1[:])
    # 3.间隔数 方向  与字符串讲解操作一致
    # print(l1[::-1])
    # 4.统计列表中数据值的个数
    # print(len(l1))  # 8
    # 5.数据值修改
    # l1[0] = 123
    # print(l1)
    # 6.列表添加数据值
    # 方式1:尾部追加数据值
    # l1.append('干饭')
    # print(l1)  # [111, 222, 333, 444, 555, 666, 777, 888, '干饭']
    # l1.append(['jason', 'kevin', 'jerry'])
    # print(l1)  # [111, 222, 333, 444, 555, 666, 777, 888, ['jason', 'kevin', 'jerry']]
    # 方式2:任意位置插入数据值
    # l1.insert(0, 'jason')
    # print(l1)
    # l1.insert(1, [11, 22, 33, 44])
    # print(l1)  # [111, [11, 22, 33, 44], 222, 333, 444, 555, 666, 777, 888]
    # 方式3:扩展列表 合并列表
    # ll1 = [11, 22, 33]
    # ll2 = [44, 55, 66]
    # print(ll1 + ll2)  # [11, 22, 33, 44, 55, 66]
    # ll1.extend(ll2)  # for循环+append
    # print(ll1)  # [11, 22, 33, 44, 55, 66]
    # for i in ll2:
    #     ll1.append(i)
    # print(ll1)
    # 7.删除列表数据
    # 方式1:通用的删除关键字del
    # del l1[0]
    # print(l1)
    # 方式2:remove
    # l1.remove(444)  # 括号内填写数据值
    # print(l1)
    # 方式3:pop
    # l1.pop(3)  # 括号内填写索引值
    # print(l1)
    # l1.pop()  # 默认尾部弹出数据值
    # print(l1)
    # res = l1.pop(3)
    # print(res)  # 444
    # res1 = l1.remove(444)
    # print(res1)  # None
    # 8.排序
    # ss = [54, 99, 55, 76, 12, 43, 76, 88, 99, 100, 33]
    # ss.sort()  # 默认是升序
    # print(ss)
    # ss.sort(reverse=True)
    # print(ss)  # 改为降序
    # 9.统计列表中某个数据值出现的次数
    # print(l1.count(111))
    # 10.颠倒列表顺序
    # l1.reverse()
    # print(l1)

可变类型与不可变类型

l1 = [11, 22, 33]
s1.strip('$')
print(s1)  # $$jason$$
    字符串在调用内置方法之后并不会修改自己 而是产生了一个新的结果
如何查看调用方法之后有没有新的结果 可以在调用该方法的代码左侧添加变量名和赋值符号
    “res = s1.strip('$')”

ret = l1.append(44)
print(l1)  # [11, 22, 33, 44]
print(ret)  # None
列表在调用内置方法之后修改的就是自身 并没有产生一个新的结果

可变类型:值改变 内存地址不变

l1 = [11, 22, 33]
print(l1)
print(id(l1))
l1.append(44)
print(l1)
print(id(l1))

不可变类型:值改变 内存地址肯定变

res = '$$hello world$$'
print(res)
print(id(res))
res.strip('$')
print(res)
print(id(res))

标签:11,内置,python,res,s1,字符串,l1,print,分享
From: https://www.cnblogs.com/gaoli111/p/16742369.html

相关文章

  • Python基础入门(七)
    Python基础入门(七)一、数据类型内置方法理论数据类型的内置方法是Python为提高开发效率,每个数据类型内置一些快速实现效果的快捷代码。数据类型调用内置方法格式:数据类......
  • 列表内置方法及操作
    列表内置方法及操作一、类型转换list(其他数据类型)把其他数据类型转成列表print(type(list('123')),list('123'))#<class'list'>['1','2','3']print(type(l......
  • Python中Selenium模块的使用
    目录​​Selenium的介绍、配置和调用​​​​Selenium的配置​​​​Selenium的调用​​​​Selenium的使用​​​​定位​​​​定位元素的使用​​​​定位下拉标签元素 ......
  • Python中的时间日期模块(time、datetime)
    目录​​Datetime​​​​获取当前时间​​​​获取当前日期​​​​获取当前时间的tuple元组​​​​格式化日期和时间​​​​时间移动​​​​获取两个时间的时间差​​......
  • 数据类型内置、可变类型与不可变类型
    数据类型内置方法理论我们之前所学习的每一种数据类型本身都含有一系列的操作方法,内置方法是其中最多的(自带的功能)在python中数据类型调用内置方法的统一句式为>>>:......
  • Python中math和cmath模块的使用
    目录​​Math模块​​​​Cmath模块​​Math模块pi                数字常量,圆周率e                 表示一个常量sqrt(x)      ......
  • python MLPRegressor神经网络回归预测
       '''载入数据'''fromsklearnimportdatasetsimportsklearnboston=datasets.load_boston()x,y=boston.data,boston.target'''引入标准化函数'''from......
  • 如何组织团队技术分享的一点心得和建议 All In One
    如何组织团队技术分享的一点心得和建议AllInOne团队建设:技术能力,文化力,凝聚力,影响力,团队成长几点建议:提高物质激励的额度,如分享一次500元,年终评选上优秀分享......
  • 数据类型的内置方法
    一.数据类型的内置方法数据类型的内置方法就是:数据类型自带的操作方法或功能调用数据类型的内置方法句式为:句点符数据类型.方法名()eg:name='张三'1)变量名......
  • 数据类型内置方法
       每个数据类型都拥有不同的内置功能,这些功能都保存在已经编译好的关键字内,可以直接引用,这些关键字就是内置方法。  数据类型调用内置方法的统一句式为>>>:句点......