【0802 | Day 7】Python进阶(一)

目 录 

数字类型的内置方法

一、整型内置方法(int)

二、浮点型内置方法(float)

字符串类型内置方法

一、字符串类型内置方法(str)

二、常用操作和内置方法

优先掌握:

1.索引取值

2.切片

3.长度len

4.成员运算in or not in

5.移除空白strip( )

6.切分split

7.循环

需要掌握:

1.lstrip( )和rstrip( )

2.lower( )和upper( )

3.startswith( )和endswith( )

4.rsplit( )

5.join( )

6.replace( )

7.isdigit( )

其他操作:

1.find( )、rfind( )、index( )、rindex( )、count( )

2.center( )、ljust( )、rjust( )、zfill( )

3.expandtabs( )

4.captalize( )、swapcase( )、title( )

5.is数字系列(只是为了告诉你,判断是否为数字时除了中文数字以后使用isdigit( )即可)

6.is其他

 

写在开篇:

可变:变量值发生改变,id地址不变【在原来的基础上】

不可变:变量值发生改变,id地址改变【开辟新的空间】

数字类型的内置方法

数字类型分为整型和浮点型。

一、整型内置方法(int)

用途:年龄、id、级别等

定义:可以使用int( )方法将纯数字的字符串转为十进制的整型

age = 19
age = int(10)
print(type(age))
​
#<class 'int'>
x = int('111')
print(type(x))
​
#<class 'int'>
x = int('11.1')
print(x)
​
#报错,int(字符串需为整数)

常用操作+内置方法:算术运算+比较运算

有序or无序:

不存在有序无序之说

存值单个or多个:

单个

可变or不可变:

不可变

 

二、浮点型内置方法(float)

用途:薪资、身高、体重

定义:可以使用float()方法将纯数字的字符串转为浮点型数字

age = 3.1
age = float(3.1)
print(type(age))
​
#<class 'float'>
x = float('111')
print(x)
print(type(x))
​
#111.0
#<class 'float'>
x = float('11.1') #非纯数字的字符串 报错
print(type(x))
​
#<class 'float'>

常用操作+内置方法:算术运算+比较运算

有序or无序:

无有序无序之说

存单值or多值:

单值

可变or 不可变:

不可变

 

字符串类型内置方法

一、字符串类型内置方法(str)

  • b'101':二进制编码的字符串

  • r'\n':原生字符串,r会令字符串里的命令失效

name = 'nick' 
s1 = str(1.1)
s2 = str([1,2,3])
​
print(f's1:{s1},type:{type(s1)}')
print(f's2:{s2},type:{type(s2)}')
​
#s1:1.1,type:<class 'str'>
#s2:[1,2,3],type:<class 'str'>

常用操作+内置方法:常用操作和内置方法分为优先掌握,需要掌握和其他操作三个部分

有序or无序:

只要是有索引的,都是有序的,因此字符串是有序的

存单值or多值:

单值

可变or不可变:

不可变

 

二、常用操作和内置方法

优先掌握:
  1. 按索引取值

  2. 切片

  3. 长度len

  4. 成员运算in | not in

  5. 移除空白

  6. 切分split

  7. 循环

 

1.索引取值
mm = 'hello nick'print(f'索引为6:{mm[6]}')
print(f'索引为-3:{mm[-3]}')
​
#索引为6: n
#索引为-3:i
2.切片
mm = 'hello nick'print(f'切片3到最后:{m[3:]}')
print(f'切片3-8:{mm[3:8]}')
print(f'切片3-8,步长为2:{mm[3:8:2]}')
print(f'切片3-最后,步长为2:{mm[3::2]}')
​
print('\n**了解知识点**')
print(f'切片所有: {mm[:]}')
print(f'反转所有: {mm[::-1]}')
print(f'切片-5--2: {mm[-5:-2:1]}')
print(f'切片-2--5: {mm[-2:-5:-1]}'#切片3-最后: lo nick
#切片3-8: lo ni
#切片3-8,步长为2: l i
#切片3-最后,步长为2: l ik
#**了解知识点**
#切片所有: hello nick
#反转所有: kcin olleh
#切片-5--2:  ni
#切片-2--5: cin  
3.长度len
mm = 'hello nick'
print(len(mm))
​
#10
4.成员运算in or not in
mm = 'my name is nick, nick handsome'print(f"'nick' in mm:{'nick' in mm}")
print(f"'jason' not in mm:{'jason' not in mm}")
print(f"not 'jason' in mm:{not 'jason' in mm}")
​
#'nick' in msg: True
#'jason' not in msg: True
#not 'jason' in msg: True
5.移除空白strip( )
name = '&&&n ick'print(f"name.strip('&'):{name.strip('&')"})
print(f"name:{name}")
​
pwd = input('password: ')
if pwd.strip() == '123':print('密码输入成功')print(f"'*-& nick+'.strip('*-&+'):{'*-& nick+'.strip('*-& +')}")   
​
#name.strip('&'): n ick
#name: &&&n ick
#password: 123   
#密码输入成功
#'*-& nick+'.strip('*-& +'): nick
6.切分split
info = 'nick:male:19'
info_list1 = info.split(':')
info_list2 = info.split(':',1)
​
print(f'info_list1:{info_list1}')
print(f'info_list2:{info_list2}')
​
#info_list1:['nick', 'male', '19']
#info_list2:['nick', 'male:19']
7.循环
mm = 'hello nick'
for i in mm:print(i)#h
#e
#l
#l
#o
#n
#i
#c
#k
需要掌握:
  1. lstrip&rstrip

  2. lower&upper

  3. startswith&endswith

  4. rstrip

  5. join

  6. replace

  7. isdigit

 

1.lstrip( )和rstrip( )
name = '&&nick&&'
print(f"{name.lstrip('&')}")
print(f"{name.rstrip('&')}")
​
#nick&&
#&&nick
2.lower( )和upper( )
name = 'Nick Chen'
print(f'{name.lower()}')
print(f'{name.upper()}')#nick chen
#NICK CHEN
3.startswith( )和endswith( )
name = 'Nick Chen'
print(f'{name.startswith("Nick")}')
print(f'{name.endswith("chen")}')
​
#True
#False
4.rsplit( )
info = 'nick:male:19'
print(f"{info.rsplit(':'),1}")#['nick:male','19']    
5.join( )
lis = [1,2,'19']
print(f"{':'.join(lis)}")
​
#报错 数字和字符串不可拼接
​
lis = ['nick','male','19']
print(f"{':'.join(lis)}")
​
#nick:male:19
6.replace( )
name = 'nick shuai'
print(f"{name.replace('shuai','handsome')}")
​
#nick handsome
7.isdigit( )
salary = '111'
print(salary.isdigit())
​
salary = '111.1'
print(salary.isdigit())
​
#True
#False
age = input('age: ')
if age.isdigit():age = int(age)if age < 18:print('小姐姐:)')else:print('阿姨好:)')
else:print(f'你的年龄是这个{age}?')#结果一:
age: 18 
阿姨好:)
#结果二:
age: 啊?
你的年龄是这个啊??   
其他操作:
  1. find | rfind | index |rindex | count

  2. cente | ljust |rjust | zfill

  3. expandtabs

  4. captalize | swapcase | title

  5. is 系列

 

1.find( )、rfind( )、index( )、rindex( )、count( )
mm = 'my name is tank, tank shi sb, hha'
print(f"{mm.find('tank')}")
print(f"{mm.find('tank',0,3)}") #从0开始索引,3结束索引,找不到返回-1
print(f"{mm.rfind('tank')}")
print(f"{mm.index('tank')}")
print(f"{mm.rindex('tank')}")
print(f"{mm.count('tank')}")
​
#11
#-1
#17
#11
#17
#2

注意:find找不到返回-1,index找不到直接报错

2.center( )、ljust( )、rjust( )、zfill( )
print(f"{'info nick'.center(50,'*')}")  #放置中央
print(f"{'info nick'.ljust(50,'*')}")   #调整*居左
print(f"{'info nick'.rjust(50,'*')}")   #调整*居右
print(f"{'info nick'.zfill(50)}")  #填充0居右
********************info nick*********************
info nick*****************************************
*****************************************info nick
00000000000000000000000000000000000000000info nick
3.expandtabs( )
print(f"a\\tb\\tc: %s" %('a\tb\tc\t'))
print(f"'a\\tb\\tc'.expandtabs(32): %s" %('a\tb\tc\t'.eapandtabs(32))#a\tb\tc: a  b   c   
#'a\tb\tc'.expandtabs(32):a                   b                    c                    

注意:’ \ '加在‘ \t ’、' \n '等之前则命令失效,成为普通字符串

4.captalize( )、swapcase( )、title( )
name = 'nick handsome sWAPCASE'
print(f"name.capitalize(): {name.capitalize()}") #首字母大写,用在段落开始
print(f"name.swapcase(): {name.swapcase()}")  # 大小写互转
print(f"name.title(): {name.title()}")  #所有单词首字母大写
​
Nick handsome sWAPCASE
NICK HANDSOME Swapcase
Nick Handsome Swapcase
5.is数字系列(只是为了告诉你,判断是否为数字时除了中文数字以后使用isdigit( )即可)
  • isdecimal(): 检查字符串是否值包含十进制字符,如果是返回True,否则返回False。

  • isdigit(): 如果字符串只包含数字则返回True,否则返回False。(重要)

  • isnumeric(): 如果字符串中只包含数字字符,则返回True,否则返回False。

num = "1"  #unicode
num.isdigit()   # True
​
num = "1" # 全角
num.isdigit()   # True
​
num = b"1" # byte
num.isdigit()   # True
​
num = "IV" # 罗马数字
num.isdigit()   # True
​
num = "" # 汉字
num.isdigit()   # False
===================
isdigit()
True: Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字
False: 汉字数字
Error: 无
​
================
import unicodedata
​
unicodedata.digit("2")   # 2
​
unicodedata.digit("2")   # 2
​
unicodedata.digit(b"3")   # TypeError: must be str, not bytes
​
unicodedata.digit("")   # ValueError: not a digit
​
unicodedata.digit("")   # ValueError: not a digit
#"〇","零","一","壱","二","弐","三","参","四","五","六","七","八","九","十","廿","卅","卌","百","千","万","万","亿"

 

6.is其他
  • salpha(): 如果字符串至少有一个字符并且所有字符都是字母则返回True,否则返回False。

  • islower(): 如果字符串中只包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回True,否则返回False。

  • isupper(): 如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回True,否则返回False。

转载于:https://www.cnblogs.com/fxyadela/p/11290302.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/461661.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

bzoj 1084 DP

首先对于m1的情况非常容易处理&#xff08;其实这儿因为边界我错了好久。。。&#xff09;&#xff0c;直接DP就好了&#xff0c;设f[i][k]为这个矩阵前i个选k个矩阵的最大和&#xff0c;那么f[i][k]max(f[j][k-1]sum[j1][i])&#xff0c;那么对于m2的时候类似与m1的时候&#…

uboot源码——命令体系

以下内容源于朱有鹏嵌入式课程的学习&#xff0c;如有侵权&#xff0c;请告知删除。 参考资料&#xff1a;http://www.cnblogs.com/biaohc/p/6394710.html 一、uboot命令体系基础 1、使用uboot命令 uboot启动后进入命令行环境&#xff0c;在此输入命令按回车结束&#xff0…

RCP:如何移除Toolbar中的Quick Access

问题 自4.x开始&#xff0c;Quick Access搜索框成为Toolbar的“标准装备”&#xff0c;一般删除Actionset的方式似乎不起作用&#xff0c;通过Quick Access&#xff0c;用户很容易访问到RCP程序本来想隐藏的功能。 解决方法 在WorkbenchWindowAdvisor的openIntro中加入以下代码…

XMPP文件传输(XEP-0096协议说明)

XMPP XEP-0096协议是XMPP中的文件传输协议。 关于文件传输&#xff0c;在xmpp协议中有不少协议可以实现&#xff0c;而XEP-0096协议是其中非常简单的一个协议。由于邮件被删&#xff0c;我的代码demo丢失&#xff0c;因此只能在这里给大家讲一下其中的逻辑实现&#xff0…

[笔记]VI编辑器的学习

来源&#xff1a;http://team.youthol.cn/?p453 2013-03-22 09:20:00 在Vim中利用替换功能就可以将“^M”都删掉&#xff0c;键入如下替换命令行&#xff1a;:% s/\r//g 就可以类似的“&#xff5c;&#xff5c;”都删掉&#xff0c;键入如下替换命令行&#xff1a;%s/Tab键…

uboot源码——环境变量

以下内容源于朱有鹏嵌入式课程的学习&#xff0c;如有侵权&#xff0c;请告知删除。 参考资料&#xff1a;http://www.cnblogs.com/biaohc/p/6398515.html。 一、uboot的环境变量基础 1、环境变量的作用 在不改变源码、不用重新编译的情况下&#xff0c;可以通过设置环境变量…

Linq To Sql进阶系列 -目录导航

博客园CLR基础研究团队|CLR团队精品系列|C# 3.0专题 [Linq To Sql进阶系列] 目录导航 1 Linq To Sql进阶系列&#xff08;一&#xff09;-从映射讲起 本系列&#xff0c;或多或少&#xff0c;直接或间接依赖入门系列知识。但&#xff0c;依然追求独立成章。因本文作者水平有限&…

uboot源码——mmc驱动分析

以下内容源于朱有鹏《物联网大讲坛》课程的学习&#xff0c;以及博客http://www.cnblogs.com/biaohc/p/6409197.html的学习整理&#xff0c;如有侵权&#xff0c;请告知删除。 一、uboot与linux驱动 1、uboot是裸机程序 狭义的驱动的概念&#xff1a;操作系统中用来具体操控硬…

VB与Java颜色值的转换

正常的 RGB 颜色的有效范围&#xff0c;是从 0 到 16,777,215 (&HFFFFFF&)。每种颜色的设置值&#xff08;属性或参数&#xff09;都是一个四字节的整数。对于这个范围内的数&#xff0c;其高字节都是 0&#xff0c;而低三个字节&#xff0c;从最低字节到第三个字节&am…

Dreamweaver MX显示汉字为乱码的解决方法

推荐几种解决方法:a.在“编辑”&#xff0d;“首选参数”中设置“新建文档”->默认编码&#xff1a;utf-8或者gb2312&#xff08;取决于你的网页编码&#xff09;&#xff0c;并勾选“当打开未指定编码的现有文件时使用”;此时每次打开文件时都没有乱码了&#xff0c;也不额…

RDIFramework.NET(.NET快速开发框架) 答客户问(2014-02-23)

1、框架的部署安装&#xff0c;服务器端和客户端 答&#xff1a;开发版以上版本支持SOA模式&#xff0c;也即真正的面向服务端的模式&#xff0c;在实际使用过程中&#xff0c;可根据项目的实际需要&#xff0c;来选择性的进行部署&#xff08;直连模式或SOA模式&#xff09;&a…

I2C通信——I2C通信的基础介绍

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除 。 参考博客 SPI、I2C、UART&#xff08;即串口&#xff09;三种串行总线详解_天糊土的博客-CSDN博客_串口总线 s5pv210 I2C通信详解 - biaohc - 博客园 嵌入式常用技术概览之IIC(I2C)_C_XianRen的博…

IBM SOA[ESB,BPM,Portal等]基础架构图解

最近公司对众多的异构系统进行SOA化&#xff0c;产品选型为IBM的Websphere系列产品的WMB&#xff0c;BPM&#xff0c;Portal&#xff0c;LDAP等技术&#xff0c;根据具体的描述&#xff0c;连猜带蒙的画了个系统协作图&#xff0c;有不对的地方欢迎大家拍砖....谢谢。 SOA详细技…

高精度计算

多精度计算 许剑伟 2006-10-31 一、多&#xff08;高&#xff09;精度数据表示法&#xff1a; 用字符型数组表示一个高精度的数&#xff0c;以下示范数据结构&#xff0c;左边为数组底端&#xff08;或说内存底端&#xff09;&#xff0c;下表以底端高位&#xff08;或说高端…

css3图标悬停导航菜单

纯css3制作的图标悬停导航菜单&#xff0c;包含9中不同的悬停风格&#xff0c;干净大气。转载于:https://blog.51cto.com/jimanyu/1362823

I2C通信——S5PV210的I2C通信简单案例

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 参考内容 I2C子系统详解3——I2C总线驱动层代码分析_天糊土的博客-CSDN博客 一、S5PV210的I2C控制器 1、为什么需要控制器&#xff1f; 通信双方通过时序协调工作&#xff0c;但是时序比较复杂而…

POJ 2718

题意&#xff1a;给出最多10个数字&#xff0c;将它们划分为两个整数&#xff0c;求差异值最小的值&#xff08;除非只有一位数&#xff0c;否则不允许出现先导0&#xff09; 题解&#xff1a;很显然如果总共有n个数&#xff0c;必然有一个整数长n/2,另一个长n-n/2&#xff0c;…

转:跨dll操作fopen的返回值导致出错

从老板的blog那里抄来的&#xff0c;一个很神奇的bug&#xff0c;雷死&#xff1a; 源地址http://www.cnblogs.com/len3d/p/3406294.html 在设置成/MD 或 /MDd 不会导致出错 设置成/MT 或 /MTd 的情况下会导致出错 看了CRT的实现&#xff0c;估计是因为fopen创建了CriticalSect…

HDUOJ---1879 继续畅通工程

继续畅通工程 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 11473 Accepted Submission(s): 5026 Problem Description省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通&#xff08;但不一…

windows批量关机

建立bat文件,内容如下&#xff1a;net use \\192.168.1.1\ipc$ "admin" /user:"administrator" shutdown -s -f -t 20 -m \\192.168.2.2 net use \\192.168.1.2\ipc$ "admin" /user:"administrator" shutdown -s -f -t 20 -m \\192.16…