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

 

posted @ 2019-10-14 14:49  晓晶  阅读(260)  评论(0编辑  收藏  举报