写在开篇:

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

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

数字类型的内置方法

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

一、整型内置方法(int)

用途:年龄、id、级别等

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

age = 19
age = int(10)
print(type(age))

#<class 'int'>
x = int('')
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('')
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))

#
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() == '':
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,'']
print(f"{':'.join(lis)}")

#报错 数字和字符串不可拼接

lis = ['nick','male','']
print(f"{':'.join(lis)}")

#nick:male:19
6.replace( )
name = 'nick shuai'
print(f"{name.replace('shuai','handsome')}")

#nick handsome
7.isdigit( )
salary = ''
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')}")

#
#-1
#
#
#
#

注意: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 = ""  #unicode
num.isdigit() # True

num = "" # 全角
num.isdigit() # True

num = b"" # byte
num.isdigit() # True

num = "IV" # 罗马数字
num.isdigit() # True

num = "四" # 汉字
num.isdigit() # False

===================
isdigit()
True: Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字
False: 汉字数字
Error: 无

================
import unicodedata

unicodedata.digit("") #

unicodedata.digit("") #

unicodedata.digit(b"") # 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。

最新文章

  1. Bootstrap源码分析之transition、affix
  2. windows下vmware10.0 安装centos7
  3. Python version 2.7 required, which was not found in the registry
  4. javaSE第七天
  5. no module named staticfiles
  6. MySQL存储过程详解 mysql 存储过程
  7. 001Spark文件分析测试
  8. Building Android Apps 30条建议
  9. C语言处理CSV文件的方法(一)
  10. Smarty数学运算
  11. Linux系统挂载NTFS文件系统
  12. Service Fabric 与 Ocelot 集成
  13. IIS中报错弹出调试,系统日志-错误应用程序名称: w3wp.exe,版本: 8.5.9600.16384,时间戳: 0x5215df96(360主机卫士)
  14. uva11300 分金币(中位数)
  15. [20180312]进程管理其中的SQL Server进程占用内存远远大于SQL server内部统计出来的内存
  16. RNN Train和Test Mismatch
  17. alert()、confirm()、prompt()的区别
  18. Bjarne Stroustrup announces C++ Core Guidelines
  19. HDFS分布式文件系统
  20. [android] 看博客学习Android常见的几种RuntimeException

热门文章

  1. Django项目的创建和管理
  2. ORM的查询
  3. c#零碎知识随笔
  4. JSP之BBS论坛网站的创建
  5. [转载]nginx负载均衡+keepalived三主(多主)配置
  6. https://www.cnblogs.com/M-LittleBird/p/5902850.html
  7. Git远程版本库
  8. JavaScript数组高性能去重解决方案
  9. JedisClient操作redis 单机版和集群版
  10. Cesium 学习(二)所支持的模型数据类型,以及转换