整型 int

__author__ = 'Tang'

# 将字符串转换为数字
a = "123"
b = int(a)
print(b) # 123

# 前面是0的数转换,默认base按照十进制
a = "0011"
b = int(a)
print(b) # 11

# 通过base,按照指定进制转换为十进制
a = "0011"
b = int(a,base=16)
c = int(a,base=8)
print(b) # 17
print(c) # 9

# bit_length() 表示这个数字的二进制至少用几位来表示
a = 15 # 1111
b = 16 # 10000
c = a.bit_length()
d = b.bit_length()
print(c) # 4
print(d)# 5

# a = "0b11"
# b = int(a)
# print(b) # 报错

# a = "123a"
# b = int(a)
# print(b) # 报错

字符串 str

  1 __author__ = "Tang"
  2 
  3 """不要指望一下全背下来"""
  4 """必会的:join split find strip upper lower replace"""
  5 
  6 # capitalize() 首字母大写
  7 a = 'tang'
  8 b = a.capitalize()
  9 print(b) # Tang
 10 
 11 # casefold() 大写变小写
 12 a = 'TANg'
 13 b = a.casefold()
 14 print(b) # tang
 15 
 16 # lower() 大写变小写
 17 a = 'TANg'
 18 b = a.lower()
 19 print(b) # tang
 20 
 21 """
 22 casefold() & lower() 的比较
 23 1.都能大写变小写
 24 2.casefold 比较全面,像一些特殊语言的变换都可以
 25 3.lower 只能处理英文转换
 26 """
 27 
 28 # center() 字符串放中间
 29 # center(self, width, fillchar=None) width=总长度 fillchar=填充符号(一个字符)
 30 a = 'tang'
 31 b = a.center(20)
 32 c = a.center(20,'*')
 33 d = a.center(20,'')
 34 print(b) #         tang
 35 print(c) # ********tang********
 36 print(d) # 唐唐唐唐唐唐唐唐tang唐唐唐唐唐唐唐唐
 37 
 38 # count() 统计次数
 39 # count(self, sub, start=None, end=None) sub=要统计的字符 start=开始位置 end=结尾位置 以0开始计数 [start,end)
 40 a = 'tanglaoertanglaoer'
 41 b = a.count('a')
 42 c = a.count('ao')
 43 d = a.count('a',5,-1)
 44 e = a.count('r',0,-1)
 45 f = a.count('r',0)
 46 print(b) # 4
 47 print(c) # 2
 48 print(d) # 3
 49 print(e) # 1
 50 print(f) # 2
 51 
 52 # endswith() 判断以什么结尾
 53 # endswith(self, suffix, start=None, end=None) suffix=要判断的字符 start=开始位置 end=结尾位置 以0开始计数 [start,end)
 54 a = 'tanglaoer'
 55 b = a.endswith('er')
 56 print(b) # True
 57 
 58 # expandtabs() 每次取tabsize个,里面有\t的补后面的空格
 59 # expandtabs(self, tabsize=8)
 60 a = 'tanglaoer\t' # 这里补三个空格 第一次取tangla   第二次取oer\t
 61 b = a.expandtabs(6)
 62 print(b) # tanglaoer | | |
 63 print(len(b)) #12
 64 
 65 # find() 寻找 返回所在位置,未找到返回-1
 66 # find(self, sub, start=None, end=None) sub=要查找的字符 start=开始位置 end=结尾位置 以0开始计数 [start,end)
 67 a = 'tanglaoer'
 68 b = a.find('a')
 69 c = a.find('a',3)
 70 e = a.find('p',3)
 71 print(b)# 1
 72 print(c)# 5
 73 print(e)# -1
 74 
 75 # format 格式化,占位符替换为指定的值
 76 # format(self, *args, **kwargs)
 77 a = 'i am {name}'
 78 print(a) # i am {name}
 79 b = a.format(name='tang')
 80 print(b) # i am tang
 81 
 82 a = 'i am {0},age {1}'
 83 print(a) # i am {0},age {1}
 84 b = a.format('tang','22')
 85 print(b) # i am tang,age 22
 86 
 87 # format_map() 格式化
 88 # format_map(self, mapping) mapping=字典{}
 89 a = 'i am {name}'
 90 b = a.format_map({'name':'tang'}) # 传字典
 91 print(b) # i am tang
 92 
 93 # index() 寻找,找不到就报错
 94 # index(self, sub, start=None, end=None) sub=要查找的字符 start=开始位置 end=结尾位置 以0开始计数 [start,end)
 95 # a = 'tanglaoer'
 96 # b = a.index('a')
 97 # c = a.index('p')
 98 # print(b) # 1
 99 # print(c) # 报错
100 
101 """
102 find() & index() 的比较
103 1. 用find() 找不到不会报错
104 """
105 
106 # isalnum() 字符串中是否只包含 字母(包括汉字)和数字
107 a = 'tang8080唐'
108 b = 'tang8080_'
109 c = a.isalnum()
110 d = b.isalnum()
111 print(c) # True
112 print(d) # False
113 
114 # isalpha() 字符串是否只包含字母 汉字
115 a = "tanglaoer"
116 b = ''
117 c = a.isalpha()
118 d = b.isalpha()
119 print(c) # True
120 print(d) # True
121 
122 # isdigest() isdecimal() 判断是否是数字
123 a = "123"
124 b = ""
125 t = ''
126 c = a.isdecimal() # 只可以识别 这种"123" 用来判断计算就用这种
127 d = a.isdigit()
128 e = b.isdecimal()
129 f = b.isdigit()
130 g = t.isnumeric() # 可以识别中文数字
131 print(c,d,e,f,g) # True True False True True
132 """
133 isdigit() & isdecimal() 比较
134 1. 用isdigit() 范围更广
135 """
136 
137 # swapcase() 大小写转换
138 a = 'TangLaoEr'
139 b = a.swapcase()
140 print(b) # tANGlAOeR
141 
142 # isidentifier() 判断是否是标识符
143 # 数字 字母 下划线 and 字母 下划线 开头
144 
145 
146 # isprintable() 判断是否存在不可显示字符 \n \t ,注意:空格是可显示的
147 a = "tang\tlao"
148 b = a.isprintable()
149 print(b) # False
150 
151 # isspace() 判断是否全部是空格,\t \n 都满足
152 a = "tanglaoer"
153 b = " "
154 t = "\t"
155 p = "\n"
156 c = a.isspace()
157 d = b.isspace()
158 g = t.isspace()
159 pp = p.isspace()
160 print(c,d,g,pp) # False True True True
161 
162 # istitle() 判断是否是标题 每个单词首字母大写
163 a = 'tang lao er'
164 b = a.istitle()
165 c = a.title()
166 print(b)# False
167 print(c)# Tang Lao Er
168 
169 # 这个很重要
170 # join() 拼接字符串 每一个元素按照指定分隔符进行拼接
171 a = "tanglaoer"
172 c = '飞流直下三千尺'
173 print(a)
174 b = " ".join(a)
175 d = "_".join(c)
176 print(b) # t a n g l a o e r
177 print(d) # 飞_流_直_下_三_千_尺
178 
179 # ljust() rjust() 指定宽度,字符串放一边 剩下的填充
180 # ljust(self, width, fillchar=None)
181 # rjust(self, width, fillchar=None)
182 a = 'tang'
183 b = a.ljust(20,'*')
184 c = a.rjust(20,'*')
185 print(b) # tang****************
186 print(c) # ****************tang
187 
188 # zfill() 以0来填充
189 a = "tang"
190 b = a.zfill(20)
191 print(b) # 0000000000000000tang
192 
193 # islower() 判断是否是小写
194 a = 'Tang'
195 b = a.islower()
196 print(b) # False
197 
198 # isupper() 判断是否是大写
199 a = 'Tang'
200 b = a.isupper()
201 print(b) # False
202 
203 # upper() 转换为大写
204 a = 'Tang'
205 b = a.upper()
206 print(b) # TANG
207 
208 # 移除指定字符串
209 #strip() 默认去除空格 \n \t ,可以指定匹配的子序列
210 # strip(self, chars=None)
211 a = " tang "
212 b = a.lstrip()
213 c = a.rstrip()
214 d = a.strip()
215 print(b)#tang
216 print(c)# tang
217 print(d)#tang
218 
219 # 注意:是子序列里面的都可以匹配掉
220 a = 'axtangxa'
221 b = a.lstrip('ax')
222 c = a.rstrip('ax')
223 d = a.strip('ax')
224 print(b)#tangxa
225 print(c)#axtang
226 print(d)#tang
227 
228 # maketrans() translate() 自定义替换,两个函数配套使用
229 st = "ajketjaeoijmdgajtyopayjhpaeg"
230 a = str.maketrans("aeiou","12345") # a=1,e=2,i=3,o=4,u=5
231 at = st.translate(a)
232 print(at) # 1jk2tj1243jmdg1jty4p1yjhp12g
233 
234 # partition() 分割,分成三部分成元组,可以拿到sep
235 # partition(self, sep)
236 a = 'tanglaoer'
237 b = a.partition('a')
238 c = a.partition('ao')
239 d = a.partition('r')
240 print(b) # ('t', 'a', 'nglaoer')
241 print(c) # ('tangl', 'ao', 'er')
242 print(d) # ('tanglaoe', 'r', '')
243 
244 # split() lsplit() rsplit() # 分割,按sep分割成列表,不可以拿到sep
245 # split(self, sep=None, maxsplit=-1) maxsplit=分割次数
246 a = 'tanglaoer'
247 b = a.split('a')
248 c = a.rsplit('a',1)
249 print(b) # ['t', 'ngl', 'oer']
250 print(c) # ['tangl', 'oer']
251 
252 # splitlines() 分割
253 # splitlines(self, keepends=None) keepends=True | False
254 a = "aldgjal\najlkgjal\nalgladjg"
255 b = a.splitlines(False)
256 c = a.splitlines(True)
257 print(b) # ['aldgjal', 'ajlkgjal', 'algladjg']
258 print(c) # ['aldgjal\n', 'ajlkgjal\n', 'algladjg']
259 
260 # startswith() 以什么开头
261 # startswith(self, prefix, start=None, end=None)
262 a = "tanglaoer"
263 b = a.startswith('a')
264 c = a.startswith('a',1)
265 print(b) # False
266 print(c) # True
267 
268 # replace() 替换
269 # replace(self, old, new, count=None) count=替换的次数
270 a = "tanglaoer"
271 b = a.replace("a","T")
272 c = a.replace("a","T",1)
273 print(b) #tTnglToer
274 print(c) #tTnglaoer
275 
276 # ******************************以下必须知道的***************
277 # 获取字符串中的某一个
278 # 通过索引,下标
279 a = 'tanglaoer'
280 b = a[2]
281 print(b) # n
282 
283 # 通过[M:n]切片 -1:表示最后一个
284 a = 'tanglaoer'
285 b = a[0:1] #[0,1)
286 c = a[0:-1] #[0,-1)
287 print(b) # t
288 print(c) # tanglaoe
289 
290 # len() 求长度
291 a = 'tanglaoer'
292 c = '唐老二'
293 b = len(a)
294 d = len(c)
295 print(b) # 9
296 print(d) # 3 注意: 在python2中拿到的是9
297 
298 # for 循环取值
299 a = 'tanglaoer'
300 for i in a:
301     print(i,end=' ') #t a n g l a o e r
302 print()
303 
304 # 字符串拼接
305 """
306 内存理解: 字符串是不可变类型
307 1.首先a申请一块内存存放"tanglaoer"
308 2.b申请一块内存存放"18"
309 3.c重新申请一块内存放"tanglaoer18"
310 """
311 a = "tanglaoer"
312 b = "18"
313 c = a + b
314 print(c) # tanglaoer18
View Code

相关文章: