python基本数据类型

数据 int ,所有的功能,都放在int里

1:将字符串转换为数据   

a = "123"
print(type(a),a)
print(a)
b=int(a)   #默认转换到十进制
print(type(b),b)
print(b)

num = "a"
v = int(num,base=16)    #base表示转换为16进制
print(v)

2:bit-length   当前数据的二进制,至少用n位表示

  r=age.bit.length()

字符换类型

 字符串变形,在pyChram中输入str, 按住Ctrl点击str可以查看str class的具体内容

capitalize()    首字母大写
casefold()      所有字母变小写,比lower()更牛逼,支持特殊字符变小写
lower()       所有字母变小写,只支持英文
upper()       所有字母变大写
count()       去字符串中寻找,寻找子序列的出现次数,可以设置开始与结束位置
center()     设置宽度,并将内容居中
endswith()      判断以什么结尾
startswith()    判断以什么开始
find()        从开始往后找,找到第一个之后,获取其位置,可设置开始与结束位置,若返回结果为-1表示没有找到
format()       格式化,将一个字符串中的占位符替换为指定的值
format_map()    格式化,传入的值为key value格式{“nane”:“yang”,“age”:“18”}
index()       作用跟find一样,不同点为index()找不到程序直接报错
isalnum()      判断字符串中是否只包含字母和数字
#首字母大写
test = "aLex"
v = test.capitalize()
print(v)
#所有变小写
v1 = test.casefold()     #更牛逼,很多的未知的对应关系变小写
print(v1)
v2=test.lower()
print(v2)
#center()设置宽度,并将内容居中
test="alex"
v=test.center(20,"*")  #20代指总宽度,*空白位置填充(一个字符,可有可无)
print(v)

#count() 在字符串中寻找子序列出现的次数,
test1="albealexc"
a = test1.count("a",1,5)    #1 ,5表示寻找的开始位置与结束位置
print(a)

#endswith() 以什么结尾,
test2 = "alex"
b = test2.endswith("x")      #startswith() 以什么开始
print(b)
#center()设置宽度,并将内容居中
test="alex"
v=test.center(20,"*")  #20代指总宽度,*空白位置填充(一个字符,可有可无)
print(v)

#count() 在字符串中寻找子序列出现的次数,
test1="albealexc"
a = test1.count("a",1,5)    #1 ,5表示寻找的开始位置与结束位置
print(a)

#endswith() 以什么结尾,
test2 = "alex"
b = test2.endswith("x")      #startswith() 以什么开始
print(b)

# 从开始往后找,找到第一个之后,获取其位置
test3="alexleiao"
c =  test3.find("x",0,8)   #在0<=x<=8之间查找.-1表示没找到
print(c)
# index()找不到直接报错
test3="alexleiao"
c =  test3.index("a",0,8)   #在0<=x<=8之间查找
print(c)

#格式化,将字符串中的占位符替换为指定的值
test4="I am {name},age {a}"
print(test4)
v = test4.format(name="alex",a=18)  #v = test4.format("alex",18)
#v = test4.format.map({"name":"alex","a":18})
print(v)

#判断字符串是否只包含字母和数据
test5="usfe980_"
m=test5.isalnum()
print(m)

 expandtabs()    制表

 isalpha()      判断是否全为字母

 isdecimal()       判断当前字符串是否全为数字

 isdigit()       判断当前字符串是否全为数字

#expandtabs() 断句20
a = "username	password	mail
yangyl	123	yang@q.com
yangyl	123	yang@q.com
yangyl	123	yang@q.com"
v = a.expandtabs(20)
print(v)


########结果
username            password            mail
yangyl              123                 yang@q.com
yangyl              123                 yang@q.com
yangyl              123                 yang@q.com  
#当前输入是否是数字
test = "123"
v1=test.isdecimal()
v2=test.isdigit()      
v3=test.isnumeric()    #支持中文的数字:二
print(v1,v2)  # 输入是布尔型

重要的变换:

  join()    将字符串中的每一个元素按照指定分隔符进行拼接

  split()    分割, 不包含分割的元素

  partition()   分割,包含分割的元素,只分割为三部分

  find()    查找,到不到返回-1

  strip()    去除,

  upper()、

  lower()

#join()的使用方法,join的内部会循环此字符串
test = "test" t="_".join(test) print(t) print结果: t_e_s_t
#判断是否全部是大小写和转换为大小写
test="Alex"
v1=test.islower()
v2=test.lower()
print(v1,v2)

v3=test.isupper()
v4=test.upper()
print(v3,v4)

#去除左右空白,去除/t /n,也可去除指定字符(有限最多匹配)
test=" alex "
v1=test.lstrip()
v4=test.lstrip("x")
v2=test.rstrip()
v3=test.strip()
print(v1)
print(v2)
print(v3)

次要;索引,下标,获取字符串中某一个字符

test="alex"
v = test[0]
print(v)
v1=test[0:2]    #切片,索引范围   0<=x<2 ,-1表示最后一个字符
print(v1)
#len()  获取当前字符串中由几个字符组成
test="你好世界"

v=len(test)

print(v )

 ###答应结果##

3    在python3中得到3,在python2.7中得到9

#length()

#for循环

for 变量名 in 字符串:

  变量名

eg:

test = "你好中国武汉"
for yyl in test:
    print(yyl)

#replace()  替换

#range()

创建连续的数字range(100),range(1,100,5)   #5是步长

#将文字和索引打印出来
test = input(">>>")
l=len(test)
print(l)
for m in range(l):
    print(m,test[m])

##########################################python基本数据类型课后作业##############################################

1、  阅读代码,请写出执行结果
    a = "alex"
    b = a.capitalize()
    print(a)
    print(b)
    请写出输出结果
    alex
    Alex
2、  写代码,有如下变量,请按照要求实现每个功能
  name = " aleX"
  a. 移除 name 变量对应的值两边的空格,并输入移除后的内容
name=" AleX "
n1=name.strip()
print(n1)
  b. 判断 name 变量对应的值是否以 "al" 开头,并输出结果
n1=name.startswith("al")
print(n1)    #结果为True
  c. 判断 name 变量对应的值是否以 "X" 结尾,并输出结果
n1=name.endswith("X")
print(n1)        #结果为False
  d. 将 name 变量对应的值中的 “l” 替换为 “p”,并输出结果
n1=name.replace("l","p")
print(n1)
  e. 将 name 变量对应的值根据 “l” 分割,并输出结果。
n1=name.split("l")
print(n1)
  f. 请问,上一题 e 分割之后得到值是什么类型(可选)?
列表类型
  g. 将 name 变量对应的值变大写,并输出结果
n1=name.upper()
print(n1)
  h. 将 name 变量对应的值变小写,并输出结果
n1=name.lower()
print(n1)
  i. 请输出 name 变量对应的值的第 2 个字符?
n1=name[1]
print(n1)
  j. 请输出 name 变量对应的值的前 3 个字符?
for i in range(3):
    print(name[i])
 
  k. 请输出 name 变量对应的值的后 2 个字符?
print(name[2:-1])
  l. 请输出 name 变量对应的值中 “e” 所在索引位置?
n1=name.find("e")
print(n1)
  m. 获取子序列,仅不包含最后一个字符。如: oldboy 则获取 oldbo; root 则获取 roo
l=len(name)
print(name[0:(l-1)])

3、 字符串是否可迭代对象?如可以请使用 for 循环每一个元素?

    字符串可以迭代对象(可以被for 循环的就是可迭代对象)

name="你好中国"
l=len(name)
for i in range(l):
    print(i,name[i])
4、 请用代码实现:
  a. 利用下划线将列表的每一个元素拼接成字符串,li = "alexericrain"
  b. 利用下划线将列表的每一个元素拼接成字符串,li = ['alex', 'eric', 'rain'] (可选)
li="alexericrain"
n1="_".join(li)
print(n1)
li1=['alex', 'eric', 'rain']
n2="_".join(li1)
print(n2)
5、  Python2 中的 range 和 Python3 中的 range 的区别?
   对于汉字的打印个数不同
6、  实现一个整数加法计算器:
  如:content = input('请输入内容:') # 如: 5+9 或 5+ 9 或 5 + 9
num1=input("请输入加法数字,如5+9:")
tmp_str=num1.split()
tmp_str1="".join(tmp_str)
li=tmp_str1.split("+")
num2=li[0].isdecimal()&li[1].isdecimal()
num6=str(num2)
if num6 == "True":
    num3=int(li[0])
    num4=int(li[1])
    num5=num3+num4
    print(num5)
else:
    print("请输入正确的格式!")
 
7、  计算用户输入的内容中有几个十进制小数?几个字母?
  如:content = input('请输入内容:') # 如:asduiaf878123jkjsfd-213928
#做题思路
c1=0
c2=0
val=input(">>>")
for itme in val:
    如果itme是数字:
        c1+=1
    如果itme是字母:
        c2+=1
8、  制作趣味模板程序
  需求:等待用户输入名字、地点、爱好,根据用户的名字和爱好进行任意现实。如:敬爱可亲的 xxx,最喜欢在 xxx 地方干 xxx
name=input("请输入您的姓名:")
dir=input("请输入地址:")
things=input("请输入您喜欢干的事情:")
inp="敬爱可爱的{name},最喜欢在{dir}干{things}"
n1=inp.format(name=name,dir=dir,things=things)
print(n1)
9、  制作随机验证码,不区分大小写。
    流程:
      - 用户执行程序
      - 给用户显示需要输入的验证码
      - 用户输入的值
    用户输入的值和显示的值相同时现实正确信息;否则继续生成随机验证码继续等待用户输入
    生成随机验证码代码示例:
    
def check_code():
    import random
    checkcode=""
    for i in range(4):
        current=random.randrange(0,4)
        if current != i:
            temp=chr(random.randint(65,90))
        else:
            temp=random.randint(0,9)
        checkcode +=str(temp)
    return checkcode
while True:
    code = check_code()
    print(code)
    inp = input("请输入验证码:")
    lower_code=code.lower()
    lower_inp=inp.lower()
    if lower_inp == lower_code:
         print("验证成功,欢迎")
         break
    else:
        print("验证码不正确,请重新输入!")
10、  开发敏感词语过滤程序,提示用户输入内容,如果用户输入的内容中包含特殊的字符:
    如 "苍老师" "东京热",则将内容替换为 ***
li=["东京热","苍老师"]
inp = input("请出入内容:")
new_inp=inp.replace(li[0],"***")
new_inp1=new_inp.replace(li[1],"***")
print(new_inp1)
11、  制作表格
    循环提示用户输入:用户名、密码、邮箱 (要求用户输入的长度不超过 20 个字符,如果超过则只有前 20 个字符有效)
    如果用户输入 q 或 Q 表示不再继续输入,将用户输入的内容以表格形式大隐
 
 
 
 
原文地址:https://www.cnblogs.com/Yangyl00/p/10194794.html