首页 > 其他分享 >内置方法

内置方法

时间:2023-06-20 23:34:40浏览次数:32  
标签:11 内置 jason name list tony print 方法

字符串内置方法

1.移除字符串首尾指定字符,可以选择方向  strip(除去)        lstrip  rstrip

s1 = '$$$jason$$$'
print(s1.strip('$'))    #jason
print(s1.lstrip('$'))   #jason$$$     左边删掉
print(s1.rstrip('$'))  # $$$jason      右边删掉  

2.大小写  lower(降低)  upper(升高)    islower     isupper

s2 = 'JaSoN666Sb'
print(s2.lower())      # 将所有的英文字母变为小写 jason666sb
print(s2.upper())     # 将所有的英文字母变为大写 JASON666SB
print(s2.islower())  # 判断字符串中所有的英文字母是否是纯小写  结果是布尔值
# print(s2.isupper())  # 判断字符串中所有的英文字母是否是纯大写  结果是布尔值

一般可以用于图片验证码

code = 'JaSon6'
print('这是返回给用户的验证码:%s' % code)
user_code = input('请输入验证码>>>:').strip()   #防止空格
if code.lower() == user_code.lower():               #忽略大小写
    print('验证码正确')

3.判断字符串开头或结尾是否是指定字符  startswith (开始于)   endswith(结束于)

s3 = 'jason kevin jason tony 666'
print(s3.startswith('j'))  # True
print(s3.startswith('jason'))  # True
print(s3.startswith('tony'))  # False
print(s3.endswith('6'))  # True
print(s3.endswith('666'))  # True         #注意中间都有个's'
print(s3.endswith('jason'))  # False

4.格式化输出  format(格式化)

方式1 占位符:%s     %d

方法2  format方法>>>四种玩法

玩法一:占位符,用{}占位

print('my name is {} my age is {}'.format('jason', 18))

玩法二:索引取值,可以重复使用

print('my name is {0}  {0} my age is {1}  {0}'.format('jason', 18))

玩法三:指名道姓,可以重复使用

print('my name is {name} {name} my age is {age}'.format(name='jason', age = 18'))  #注意format后面不是字典,而是赋值

玩法四:直接使用

name = 'jason'
age = 18
print(f'my name is {name} my age is {age} {name} {age}')
#前面一定要加个f

注意:以上玩法就记住第四种即可,其他作为了解,还有%s的方法记住就够了

5.拼接字符串   join(加入)

s1 = '少壮不努力 老大徒伤悲'
s2 = '年少不努力 枉为少年人'
print(s1 + s2)  # 如果字符串很大 加号效率较低
print(s1 * 10)  # 重复次数(横向)

print('|'.join(s1))     #少|壮|不|努|力| |老|大|徒|伤|悲   注意中间是点不是逗号

print('$'.join(['jason', 'kevin', 'justin', 'tony']))  #jason$kevin$justin$tony
'''join方法相当于是将括号内的元素进行for循环'''
# l1 = [11, 'jason', 'kevin']
# print('|'.join(l1))  # join的元素必须都是字符串才可以 否则报错  这里的11就不可以

6.替换字符串中指定字符    replace(替换)

s6 = 'jason is DSB DSB DSB DSB jason jason jason'
将jason替换成老刘
print(s6.replace('jason', '老刘'))  # 默认一次性替换所有
 指定替换的个数
print(s6.replace('jason', '老刘', 2))  # 还可以通过数字控制替换的个数 从左往右

#replace(需要替换掉的字符串,替换成的字符串,从左往右替换的个数)

7.判断字符串是否是纯数字   digit(纯数字)

s7 = 'jason123'
print(s7.isdigit())  # False
print('123'.isdigit())  # True
print('123.21'.isdigit())  # False


可以用在日常生活中的分数纯数字输入
score = input('score>>>:')
if score.isdigit():
    score = int(score)    #这样整型就不会出错
else:
    print('你他喵的能不能好好写')

了解操作

1.指定字符对应的索引值   find(寻找) index(索引)

 

s1 = 'jason justin kevin tony'
# print(s1.find('s'))  # 从左往右查找 查找一个就结束
# print(s1.find('k', 1, 9))  # -1 意思是没有 找不到   从1到9的字符串范围去找
# print(s1.index('s'))
# print(s1.index('k', 1, 9))  # 找不到直接报错 不推荐使用

 2.文本位置改变   center(居中)  ljust (左对齐)  rjust(右对齐   zfill(0填充)

name = 'tony'
print(name.center(30, '-'))  # -------------tony-------------
print(name.ljust(30, '*'))  # tony**************************
print(name.rjust(30, '$'))  # $$$$$$$$$$$$$$$$$$$$$$$$$$tony
print(name.zfill(50)) 
# zero0000000000000000000000000000000000000000000000tony

3.特殊符号  (\t同行空     \n换行)

 print('ja\tson\nke\avin')
#其中  \t表示同行间隔     \n表示换行  \a不常用,一个表情
'''如果想取消它们的特殊含义 可以在字符串的前面加一个字母r'''
print(r'ja\tson\nke\avin')

4.captalize(就第一个首字母大写)   swapcase(大小写翻转)    title(每个单词首字母大写)

4.1 captalize:首字母大写
message = 'hello everyone nice to meet you!'
message.capitalize()
# Hello everyone nice to meet you!
4.2 swapcase:大小写翻转
message1 = 'Hi girl, I want make friends with you!'
message1.swapcase()
# hI GIRL, i WANT MAKE FRIENDS WITH YOU!
4.3 title:每个单词的首字母大写
msg = 'dear my friend i miss you very much'
msg.title()
# Dear My Friend I Miss You Very Much

列表内置方法

1.类型转换(字符串、列表、字典、元祖、集合都可以转化成列表类型)

 

print(list(11))  # 整型不行
print(list(11.11))  # 浮点型不行
print(list('jason'))  # ['j', 'a', 's', 'o', 'n']   字符串可以
print(list({'name': 'jason', 'pwd': 123}))  # ['name', 'pwd'] 字典可以
print(list((11,22,33,44,55)))  # [11, 22, 33, 44, 55]   元祖可以
print(list({1, 2, 3, 4, 5}))  # [1, 2, 3, 4, 5]   集合可以
print(list(True))  #布尔值不可以

 

2.常见操作

name_list = ['jason', 'kevin', 'tony', 'tom', 'jerry']

(1)索引取值

print(name_list[0])    #jason
print(name_list[-1])   #jerry

(2)切片操作(顾头不顾尾)

print(name_list[1:4])  # ['kevin', 'tony', 'tom']
print(name_list[-4:-1])  # ['kevin', 'tony', 'tom']
print(name_list[-1:-4:-1])  # ['jerry', 'tom', 'tony']
 #  正常从小到大,前面两个数表示索引范围,最后一个为步长

(3)间隔 (其实就是步长)

print(name_list[0:4:1])  # ['jason', 'kevin', 'tony', 'tom']
print(name_list[0:4:2])  # ['jason', 'tony']
print(name_list[-1:-4:-1])  # ['jerry', 'tom', 'tony']

(4)统计列表元素个数  len()

print(len(name_list))  # 5

(5)成员运算(最小判断单位是元素,而不是元素里面的单个字符)

print('j' in name_list)  # False
print('jason' in name_list)  # True

(6)列表添加元素  append (添加较死板)   insert(插入单个元素) extend(添加灵活,相当于for+append循环)

6.1.尾部追加'单个'元素
name_list.append('小李')
print(name_list)   #['jason', 'kevin', 'tony', 'tom', 'jerry', '小李']

name_list.append([11, 22, 33, 44])   
print(name_list)    #['jason', 'kevin', 'tony', 'tom', 'jerry', [11, 22, 33, 44]]


6.2.指定位置插入'单个'元素
name_list.insert(0, 123)  #[123, 'jason', 'kevin', 'tony', 'tom', 'jerry']

name_list.insert(1, [11, 22, 33])
print(name_list)     #['jason', [11, 22, 33], 'kevin', 'tony', 'tom', 'jerry']


6.3.合并列表
name_list.extend([11, 22, 33, 44, 55])
print(name_list)    #['jason', 'kevin', 'tony', 'tom', 'jerry', 11, 22, 33, 44, 55]
'''extend其实可以看成是for循环+append'''

for i in [11, 22, 33, 44, 55]:
    name_list.append(i)
    print(name_list)        #最终结果['jason', 'kevin', 'tony', 'tom', 'jerry', 11, 22, 33, 44, 55]
或者
name_list += [11, 22, 33, 44, 55]
print(name_list)  #但加号的效率不高

7.删除元素 del(删除)   remove(移动)   pop(删除前还可以再用一次,可以叫延迟删除)

7.1 通用的删除方式
del name_list[0]
print(name_list)     #['kevin', 'tony', 'tom', 'jerry']


7.2 就地删除  # 指名道姓的直接删除某个元素
print(name_list.remove('jerry'))  # None  jerry这个位置的数据为空
print(name_list)    #['jason', 'kevin', 'tony', 'tom']


7.3 延迟删除
print(name_list.pop())  # 默认是尾部弹出    jerry
print(name_list)  #['jason', 'kevin', 'tony', 'tom']

print(name_list.pop(2))  # 还可以指定索引值   tony ,不会立马为空
print(name_list)   #['jason', 'kevin', 'tom', 'jerry']

8.修改列表元素(很简单,直接赋值就可以)

print(id(name_list[0]))  # 2614038082368
name_list[0] = 'jasonDSB'
print(id(name_list[0]))  # 2614038926320
print(name_list)  #['jasonDSB', 'kevin', 'tony', 'tom', 'jerry']

#注意:列表中索引0的位置的地址已经变了,但是整个列表的索引地址没有变

 9.排序  sort(分类)表升序       sort(reverse = True)表降序

ss = [44, 77, 99, 11, 22, 33, 88, 66]
ss.sort()  # 默认是升序
print(ss)  # [11, 22, 33, 44, 66, 77, 88, 99]
ss.sort(reverse=True)  # 可以修改尾降序
print(ss)  # [99, 88, 77, 66, 44, 33, 22, 11]

10.翻转  reverse(翻转、颠倒)

ss = [44, 77, 99, 11, 22, 33, 88, 66]
ss.reverse()  # 前后颠倒
print(ss)

11.比较运算

s1 = [11, 22, 33]
s2 = [1, 2, 3, 4, 5, 6, 7, 8]
print(s1 > s2)  # True
"""列表在做比较的时候 其实比的是对应索引位置上的元素"""

s1 = ['A', 'B', 'C']  # A>>>65
s2 = ['a']  # a>>>97
print(s1 > s2)  # False

ss = [44, 77, 99, 11, 22, 33, 88, 66]
print(ss.index(99))   #2(位置在第2个)

12.统计列表中某个元素出现的次数  count(计数)

l1 = [11, 22, 33, 44, 33, 22, 11, 22, 11, 22, 33, 22, 33, 44, 55, 44, 33]
print(l1.count(11))  # 统计元素11出现的次数   3

13.清空列表  clear 

l1.clear()  # 清空列表
print(l1)

可变类型与不可变类型

可变类型:列表

    值改变 内存地址不变 修改的是本身

不可变类型 :字符串

    值改变 内存地址肯定遍 修改过程产生了新的值

如何查看内存地址? id()

s2 = [1, 2, 3]
print(id(s2))  # 2171184953160
s2.append(11111111)
print(id(s2))  # 2171184953160   列表地址不变

s1 = '  jason  '
print(id(s1))    #2093544712240
res = s1.strip()
print(res)
print(s1, id(s1))   #2093544712240  地址不变,改变的是s1.strip而不是s1,所以s1始终地址一样

队列与堆栈

队列

先进先出         eg:超市排队结账 符合队列的特征

new_list = []
先进
new_list.append(111)
new_list.append(222)
new_list.append(333)
先出
for i in new_list:
     print(i)
print(new_list.pop(0))
print(new_list.pop(0))
print(new_list.pop(0))

堆栈

先进后出         eg:叠衣服 符合堆栈的特征

new_list = []
先进
new_list.append(111)
new_list.append(222)
new_list.append(333)
先出
for i in new_list:
     print(i)
print(new_list.pop(0))   #不输入,默认从尾部取出
print(new_list.pop(0))
print(new_list.pop(0))

 

标签:11,内置,jason,name,list,tony,print,方法
From: https://www.cnblogs.com/Milk1/p/17488965.html

相关文章

  • 简单记录下 Spring Boot 使用虚拟线程Virtual Threads(Java的协程)的方法
    在之前的文章中,简单描述了将springboot2.x升级springboot3.1的版本的过程。本文将简单介绍如何在spring中引入虚拟线程,在文章最后会放上一些关于虚拟线程的官方参考资料。JDK22会引来重要特性,VirtualThreads也就是协程功能。与主流的async、await方案(C#、JS等语言)相比......
  • listView中item 图文并存的两种方法
    1.<?xmlversion="1.0"encoding="utf-8"?><TextViewxmlns:android="http://schemas.android.com/apk/res/android"android:id="@android:id/text1"android:layout_width="fill_parent"......
  • 基于matlab图像处理 用gui集成多种方法处理图像 增加暗度,边缘锐化,
    基于matlab图像处理用gui集成多种方法处理图像增加暗度,边缘锐化,真彩色增强,伪彩色增强,直方图均衡化,理想低通滤波等等ID:8934598469174023......
  • Python魔术方法详解
    前言魔术方法(MagicMethod)是Python内置方法,格式为"方法名",不需要主动调用,存在目的是为了给Python的解释器进行调用,几乎每个魔术方法都有一个对应的内置函数,或者运算符,当我们对这个对象使用这些函数或者运算符时就会调用类中的对应的魔术方法,可以理解为重写这些python的内置函数。......
  • Ubuntu更换系统源与pip源方法
    1更换ubutnu系统软件源首先备份ubuntu系统原来的源文件sudocp/etc/apt/sources.list/etc/apt/sources.list.bak修改源sudovim/etc/apt/sources.list选择一种源复制即可#阿里云源debhttp://mirrors.aliyun.com/ubuntu/focalmainrestricteduniver......
  • 振弦采集读数模块参数 配置工具的使用方法
    通常情况下,在计算机端对模块进行测试、读写时,可使用一些通用的免费工具完成,如基于MODBUS通讯协议的调试工具MODSCAN、通用串口调试助手等。VMTool是专门为振弦模块VMXXX开发的用于指令生成、参数读取、配置、模块测试、实时数据读取的工具,具有模块版本识别、参数导入导出等......
  • 一键hook js Crypto库的加密方法
    一键hookjsCrypto库的加密方法//一键HookCrypto几个基本的方法AESDES3DESHmacSHARSA(function(){'usestrict';console.log("Hook脚本初始化成功");//过dubuggervarconstructorEx=constructor;Function.prototype.constructor=func......
  • Linux shell内置变量
    BashShell环境变量变量说明$*含有所有命令行参数(以单个文本值的形式)$@含有所有命令行参数(以多个文本值的形式)$#命令行参数数目$?最近使用的前台进程的退出状态码$-当前命令行选项标记$$当前shell的进程ID(PID)$!最近执行的后台进程的PID$0命令行中......
  • webview显示内置dialog
    getWindow().requestFeature(Window.FEATURE_PROGRESS);WebViewmWebView=(WebView)findViewById(R.id.mywebview);mWebView.getSettings().setJavaScriptEnabled(true);finalActivityactivity=this;mWebView.setWebChromeClient(newWebChromeClient(){......
  • AutoCAD2018 完整版安装图文教程、注册激活破解方法
    CAD2018是广大绘图从业者必备的软件,它强大的功能可以绘制出各个行业的完整施工图,准确的尺寸更是有利于施工团队完全按照图纸进行施工操作;但对于很多初学者来说,软件安装的诸多步骤使其望而却步,为此,我特意录制了安装教程,并分享去亲测好用的AutoCAD2018软件下载:【下载方法】选中下载......