003-python基础-字符类型
基本数据类型(int,bool,str)
1.基本数据数据类型:
int 整数
str 字符串. 一般不存放大量的数据
bool 布尔值. 用来判断. True, False
list 列表.用来存放大量数据, []表示. 里面可以装各种数据类型.
tuple 元组. 只读列表. () 表示
dict 字典. {key:value}
set 集合. 不重复
2. int类型
bit_length() 返回一个数的二进制长度
1 2 | a = 5 # 0 1 10 11 100 101 print (a.bit_length()) |
3. bool类型
布尔只有两个值. True,False. 一般是没有什么操作的.
类型转换的问题:
想把xx转换成yy. yy(xx)
可以表示False的内容:0, "", [], tuple(), {}, None
所有的空都是False. 所有的非空是True
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | a = 10 print ( type (a)) s = str (a) print ( type (s)) int (s) 想把某数据转换成xxx数据类型. xxx(数据) a = 0 # False print ( bool (a)) s = "" # 空字符串是false print ( bool (s)) # True 空的东西是 False . 非空的东西是 True lst = [ 1 ] # 空列表是False print ( bool (lst)) dic = { 'jj' : '林俊杰' } # 空字典是False print ( bool (dic)) a = None # 表示空. 真空. print ( bool (a)) 所有的空都是 False . 所有的非空都是 True 想把某数据装换成xxx数据类型. xxx(数据) str = > int int (s) int = > str str (i) lst = > tuple tuple (lst) tuple = > list list (tu) while 1 : # 死循环 print ( "alex是个人才" ) lst = [ 1 , 2 , 3 ] # 列表 tu = tuple (lst) print ( type (tu)) |
4. str类型 字符串
由',",''', """阔起来的内容就是字符串
字符串是不可变的数据类型.不论你执行任何操作. 源字符串是不会改变的, 每次操作都会返回新字符串
1. 索引和切片
索引从0开始, 使用[下标]可以获取到每一个字符, 还可以倒着数
切片: [起始位置:结束位置:步长]
1. 顾头不顾尾
2. 默认从左到右取值.
3. 当步长为负可以从右往左取值
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | s = "伊丽莎白鼠" print (s[ 0 ]) print (s[ 1 ]) print (s[ 2 ]) print (s[ 3 ]) print (s[ 4 ]) print (s[ 5 ]) # 索引不能超过边界 print (s[ - 1 ]) # 倒数第一个 print (s[ - 2 ]) print (s[ - 3 ]) print (s[ - 4 ]) print (s[ - 5 ]) s = "伊丽莎白鼠的溜肥肠还有挖掘机" 切片 [起始位置: 结束位置] 1. 顾头不顾尾, 2. 从左往右切 print (s[ 1 : 3 ]) # 从1切到3. 但是取不到3 [1,3) print (s[ 1 :]) # 从1开始切. 切到结尾 print (s[: 2 ]) # 从头切到2 print (s[:]) # 从头到尾 print (s[ - 3 : - 1 ]) # 只能从左往右切 给出第三个参数来控制方向,第三个参数叫步长 print (s[ - 1 : - 3 : - 1 ]) # - 表示反方向. 从右往左切 print (s[ 4 : 10 : 3 ]) print (s[ - 3 : - 9 : - 2 ]) |
2. 字符串相关操作
1. upper() 转换成大写
2. stript() 去掉空白
3. replace(old, new) 把xxx替换成xxxx
4. split() 切割. 返回列表. 用多长的刀. 就要损失掉多少
5. startswith() 判断是否以xxx开头
6. find(), count(), index()
7. len() 字符串长度. python的内置函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 | s = "al1ex is a gay and Wu傻sir is A gay too" s1 = s.capitalize() # 把首字母变成大写 print (s1) s2 = s.lower() # 小写 print (s2) s3 = s.upper() # 大写 print (s3) s4 = s.swapcase() # 大小写互换 print (s4) s2 = "БBß" # 俄美德 print (s2) print (s2.lower()) print (s2.casefold()) s5 = s.title() # 把每个单词的首字母大写 print (s5) s = "sb" s1 = s.center( 10 , "*" ) # 强行使用*在原字符串左右两端进行拼接. 拼接成10个单位 print (s1) s = " alex is a gay " s1 = s.strip() # 默认去掉空格. 空白\t \n print (s1) username = input ( "请输入用户名:" ).strip() password = input ( "请输入密码:" ).strip() if username = = 'alex' and password = = "123" : print ( "成功" ) else : print ( "失败" ) s = "sb alex wusir sb sb taibai taibai sb" print (s.strip( "sb" )) # 可以指定要去掉的内容 s = "泰坦尼克号, 西虹市首富, 小猪佩奇, 冒险王" s1 = s.replace( "冒险王" , "西西里的美丽传说" ) s2 = s.replace( "佩奇" , "wusir" ) print (s2) s = "alex_wusir_taibai_ritian" s1 = s.replace( "_" ,"") print (s1) s8 = "sylar_alex_taibai_wusir_eggon" # s9 = s8.replace("i", "sb", 2) # 换两次 # print(s9) lst = s8.split( "taibai" ) # 切完的结果是一个列表. 列表中装的是字符串. 用什么切. 就会损失掉什么 print (lst) s = """我家大门常打开 开放怀抱等你 后面是什么歌词 我忘了""" lst = s.split( "\n" ) print (lst) s = "我今天下午要去吃饭饭" lst = s.split( "我今天下午要去吃饭饭哈哈哈" ) # 没切 print (lst) s = "我叫%s, 我今年%s了, 我喜欢%s" % ( "周杰伦" , "40" , "昆凌" ) print (s) s = "我叫{}, 我今年{}了, 我喜欢{}" . format ( "周杰伦" , "40" , "昆凌" ) print (s) s = "我叫{0}, 我今年{1}了, 我喜欢{2}" . format ( "周杰伦" , "40" , "昆凌" ) print (s) s = "我叫{name}, 我今年{age}了, 我喜欢{hobby}" . format (hobby = "周杰伦" , age = "40" , name = "昆凌" ) print (s) s = "alex is a gay" print (s.startswith( "tory" )) # 以xxx开头 print (s.endswith( "girl" )) # 以xxx结尾 s = "I have a dream. I want to kill you!" 都可以进行索引范围 print (s.count( "dream" )) # 计算a在字符串中出现的次数 print (s.find( "a" )) # 查找xxx在字符串中出现的位置. 只找第一次出现的位置, 没有就返回-1 print (s.index( "z" )) # 当字符串不存在的时候. 报错 s = "abcdefg1@" print (s.isdigit()) # %d print (s.isalpha()) # 字母 print (s.isalnum()) # 是否由数字和字母组成 s = "壹仟贰佰五十六萬拾" print (s.isnumeric()) 字符串长度, python的内置函数 len (), int (), bool (), str (), type () s = "娃哈哈可口可乐" print ( len (s)) # 字符串中的字符的个数 s = "王小利刘能赵四" # # 对字符串进行遍历. n = 0 while n < len (s): print (s[n]) n = n + 1 # 迭代 for c in s: # charactor print (c) |
3. for循环
for 变量 in 可迭代对象:
循环体, 也存在break和continue
else:
当循环结束的时候会执行
作者: do康解U
出处: https://www.cnblogs.com/David-domain/>
关于作者:专注数据库、Python 开发、ROS、深度学习,请多多赐教!
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接 如有问题, 可邮件(iamkuboy@163.com)咨询.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY