python开发【第二篇】python基本数据类型
基本数据类型
-
数字
1,没用双引号印起来的,支持 + - * / % (其中乘法 4**4 幂 4的4次方,% 取模,也就是取余数,/ 除法,//结果是商)
2,在python3里,不管数字多大,都是int类型
3,将字符串转换为数字
转换数字类型和查看转换类型 a = "123" print(type(a),a) b = int(a) print(type(b),b) 默认不加base,int是转换成10进制,加base=16 是把16进制的num转换成10进制。 num = "a" v = int(num,base=16) print(v) 这个数字的二进制用几位来表示 age = 4 r = age.bit_length() print(r)
- 字符串
(引号印起来的),支持加法(字符拼接),乘法,str
10个基本字符串魔法(join,split,find,strip,upper,lower,len,replace,for循环,索引,切片)
#!/usr/bin/env python # -*- coding:utf-8 -*- test = "alexAlEx" # 首字母大写,其他都变小写 v = test.capitalize() print(v) # 所有变小写,casefold更牛逼,很多未知的对应变小写 v1 = test.casefold() print(v1) # 处理普通变小写 v2 = test.lower() print(v2) # 设置宽度,并将内容居中 # 20代指总长度 # * 空白未知填充,一个字符,可有可无 v3 = test.center(20,"*") print(v3) # 把内容放在左边,右边填充 v4 = test.ljust(20,"*") print(v4) # 把内容放在右边,左边填充 v5 = test.rjust(20,"*") print(v5) # 去字符串寻找,寻找子序列的出现次数,可以设置起始序列和结束序列 v6 = test.count('ex',1,9) print(v6) # encode # decode # 表示以...结尾,或以...开始,结果是布尔值 v7 = test.endswith('eeex') v8 = test.startswith('ex') print(v7,v8) # 从开始往后找,找到第一个以后,获取其位置,未找到返回-1 # index找不到报错,忽略 # >=1< 6, v9 = test.find('ex',1,6) print(v9) # 格式化,将一个字符串中的占位符'{name}'替换未指定的值,传参 test = 'i am {name},age {a}' print(test) v10 = test.format(name='alex',a=23) print(v10) # 格式化,传入的值{"name":'alex',"a":19} test1 = 'i am {name},age {a}' v11 = test1.format_map({"name":'alex',"a":19}) print(v11) # 判断字符串中是否只包含数字和字母,结果是布尔值 test2 = "二十" v12 = test2.isalnum() print(v12) a = "i am {name},年龄 {a},来自 {b}" c = a.format(name='侯晓凤',a = 25,b = '天水') print(c) # 判断字符串是否只包含字母,结果是布尔值 v13 = test2.isalpha() print(v13) # 判断字符串是数字,isdecimal 判断是否是十进制数字,isdigit还包含特殊数字比如②也能比较isnumeric 都包含,结果是布尔值 v14 = test2.isdecimal() v15 = test2.isdigit() v16 = test2.isnumeric() print(v14,v15,v16) # expandtabs,需要传断多少的参数,比如20 test3 = "username\temail\tpassword\nlaiying\tding@qq.com\t123\nlaiying\tding@qq.com\t123\nlaiying\tding@qq.com\t123\nlaiying\tding@qq.com\t123\n" v17 = test3.expandtabs(20) print(v17,len(v17)) # 大小写转换 test4 = "aLex" v18 = test4.swapcase() print(v18) #判断是字母,数字,下划线,标识符,结果是布尔值 a = "_def" x = a.isidentifier() print(x) # 是否存在不可显示的字符例如\t,\n,结果是布尔值 test5 = "oifjdsifjskdsjfkls" v19 = test5.isprintable() print(v19) # 判断是否全部是空格,空字符,结果是布尔值 test6 = "\t \n" v20 = test6.isspace() print(v20) # 判断是否是标题,title 转换成首字母大写变成标题,istitle 判断是否是标题 test7 = "Return True if B is a titlecased string and there is at least one" v21 = test7.istitle() print(v21) v22 = test7.title() print(v22) # !!!!!将字符串中的每一个元素按照每一个分隔符进行拼接 test8 = "你是风儿我是沙,去你妈的风和沙" v23 = "_".join(test8) print(v23) # 判断是否是大小写,以及转换成大小写 test9 = "alex" x1 = test9.islower() x2 = test9.lower() print(x1,x2) x3 = test9.isupper() x4 = test9.upper() print(x3,x4) # 默认去除左右空格,去除\t,\n,移除指定字符,优先最多匹配去除 test10 = "alexalex" x5 = test10.lstrip('') x6 = test10.rstrip('ex') x7 = test10.strip('ex') print(x5,x6,x7) # 字符替换,对应关系的替换,要想替换,先自己创建一个对应关系m = str.maketrans("1","2") 然后再替换 test11 = "afsdfdsaeiou;afsdaeioufdsf;afsdfaeioufdsf" m = str.maketrans("aeiou",'12345') new_test11 = test11.translate(m) print(new_test11) # 用来做分隔 test12 = "qwertyuiopasdfghjklmndbvxcz" # 分成三个元素 s1 = test12.partition('d') s2 = test12.rpartition('d') #!!!!正则表达式,是否想要分隔的元素,弊端,没有分隔符 s3 = test12.split('d') s4 = test12.rsplit('d') print(s1,s2,s3,s4) # !!!!!分隔,只能根据 true,false 是否保留换行 test13 = "asdfasdfsd\nfasdfsdfasdf" w = test13.splitlines(True) print(w) # 替换字符串,后边的参数是指定替换第几个 test14 = "alexalexalex" l = test14.replace("ex",'bbb',1) print(l) #################灰魔法####################### # 字符串一旦创建,不可修改 # 一旦修改或者拼接,都会造成重新生成字符串 # 索引,下标,通过索引的方式获取字符串里边的某一个字符 test15 = 'alex' r1 = test15[2] print(r1) # 切片 # [0:2] 表示索引范围,大于等于0小于1,-1是最后一个位置 r2 = test15 [0:2] print(r2) # len获取当前字符串由几个字符组成 r3 = len(test15) print(r3) # 用中括号括起来,逗号分隔,就叫列表,这种可以用list表示 s = "sfjkdsjfdslkfjsjfjfdks" y = s.split("k") print(y) #for 循环 #for 变量名 in 字符串: # 变量名 test16 = "小丁妹纸有种冲我来" index = 0 while index < len(test): v = test16[index] print(v) index += 1 print("咦。。。") # 帮助创建连续的数字,通过设置步长来指定不连续的数字 test17 = input(">>>") for item in range(0,len(test)): print(item,test17[item]) #注意 以下这几个再其他的数据结构也能用 #len("aafd") #'_'.join("fdsdfjkld") #for 循环 #索引 #切片 # int.bit_length 得到该变量用多少个二进制表示 n = 26 i = int.bit_length(n) print(i)
- 布尔值
True 真
False 假
先计算括号内,再从前到后
- 列表list