基本数据类型及部分内置方法一

基本数据类型及内置方法

一、整型和浮点型

1.整型

用途:一般用于定义整数,例如年龄,身份证号,QQ号等

定义方法:age = 18 (本质是age = int(18))

进制之间的转换:

  • 二进制转十进制

    110--->1 * (2 ** 2) + 1 * (2 ** 1) + 0 * (2 ** 0) = 4 + 2 + 0 = 6

    内置方法:print(int("110",2))

  • 八进制转十进制

    123---->1 * (8 ** 2) + 2 * (8 * * 1) + 3 * (8 ** 0) = 64 + 16 + 3 = 83

    内置方法:print(int("123",8)

  • 十六进制转十进制

    321---> 3 * (16 ** 2) + 2 * (16 ** 1) + 1 * (16 ** 0) = 768 + 32 + 1 = 801

    内置方法:print(int("321",16))

  • 十进制转二进制

    内置方法:print(bin(100)) # 0b1100100

  • 十进制转八进制

内置方法:print(oct(100)) # 0o144

  • 十进制转十六进制

    内置方法: print(hex(1000)) # 0x 3e8

==============类型总结=================

有序or无序 无序

可变or不可变 int整型是不可变类型

存一个值or多个值 存一个值

=====================================

注意:有索引的类型都是有序的,不能索引的都是无序的;

值变id不变就是可变类型

值变id也变就是不可变类型

=====================================

2.浮点型

用途:用于记录小数,例如身高,体重,薪资等

定义方式:height = 1.8 (本质是height = float(1.8))

注意:字符串里面如果是浮点型不能直接转整型,需要先转浮点型再转整型

示例:
   s1 = '1.0'
   f1 = float(s1)
   a1 = int(f1)
   print(a1)
   
   

==============类型总结=================

有序or无序 无序

可变or不可变 不可变类型

存一个值or多个值 存一个值

=====================================

二、字符串

用途:用于存储一些描述型信息

定义方式:用单引号,双引号,单双三引号都可以定义字符串,但是注意不能混用

补充:字符串前面加一个小写的r代表转义,表示可以将字符串李面特殊功能的符号转成没有意义

常用方法

  • str()可以将任意内容定义成字符串格式

  • 索引取值(可以正反方向取值)

s1 = 'hello world' 
print(s1[4])   # 正向取
print(s1[-7])  # 反向取
  • 索引切片:截取字符串中的一小段字符串

s1 = 'hello world'
print(s1[2:5]) # 第二位到第五位之间的所有元素,注意顾头不顾尾
print(s1[4:])      # 第四位后面的所有元素
print(s1[:5])      # 第五位前面的所有元素
print(s1[0:-2:2])  # 参数意义:start,stop,step
print(s1[::-1])    # 反向排序
  • 成员运算:in not in

s1 = 'hello world'
print("o" in s1)   # 如果'o'在s1里面则返回True,否则是False
  • .strip:表示去除字符串左右两边的空格,字符串中间的不算

name = input(">>:").strip()
print(len(name))


a1 = "$$$jiang$$$"
print(a1.strip("$"))   # 表示指定字符删除
  • split:切分,对字符串进行切分,可以指定切分的分隔符,返回是一个列表

s1='hello world'
print(s1.split())

输出结果:['hello', 'world']
   
   
括号内指定分隔字符,则按照括号内指定的字符切割字符串
s2 = '127.0.0.1'
print(s2.split('.'))  
['127', '0', '0', '1']  # 注意:split切割得到的结果是列表数据类型

a1 = r'sean\18\male' # 反斜杠类型要先转义
print(a1.split('\\')) # 并且要双反斜杠
  • len ():表示获取当前数据中的元素的 个数

a1 = 'hello'
print(len(a1))

5
  • for:表示循环

    一般用法for 变量 in 容器类型 ,

    例如

    a1 = 'hello'

    for i in a1

  • strip,rstrip,lstrip

    和strip一样表示去字符串两边的空格或其他符号,但是rstrip表示去除的是左边的,lstrip表示去除的是右边的

  • lower\upper :表示将字符串全部小写或全部大写

    s1 = 'Hello world'
    print(s1.upper())
    print(s1.lower())
  • startswith\endswith:判断当前字符串是否以什么什么开头或结尾,返回值一定是True或者False

    s1 = 'Hello world'
    print(s1.startswith("He"))
    print(s1.endswith('ld'))
  • .format:字符串格式化

    name = 'sean'
    age = 19

    print("你的名字是:",name,"你的年龄是,",age)

    print("你的名字是:{},你的年龄是:{}".format(name,age))

    print("你的名字是:{1},你的年龄是:{0}".format(name,age))

    print("你的名字是:{name},你的年龄是:{age},{gender}".format(age=age,name=name,gender='male'))
  • f-string:也是表示字符串格式化,通过大括弧解释变量,在字符串前面一定要加个小写的r(python3.6之后才有的特性)

print(f"你的名字是:{name},你的年龄是:{age}")

  • split\rsplit:split默认表示从左开始切分,rsplit表示从右开始切分,

s1 = "name,age,gender"

print(s1.split(",",1))  # 1表示指定切分的次数
  • join:表示将列表、元祖或者字典中的每个元素按照jion前面字符串中的分隔符进行拼接,结果依然是原类型

l1 = ['sean','18','male']

print("|".join(l1))
  • replace:将字符串中的元素进行替换,参数表示先老值,再新值

print(s1.replace("sean",'大象'))

  • isdigit() :判断当前字符串中的数据,是否是一个数字,返回布尔值

score = input("please input your score:")

if score.isdigit():
   score = int(score)
   if score >= 90:
       print('优秀')
else:
   print("输入错误")

需要了解的知识点

find\rfind: 查找当前字符串中某个元素的位置,返回索引,找不到返回-1

s1 = '你今天吃饭吃了吗?'

print(s1.find("?",))

index\rindex:查找当前字符串中某个元素的位置,返回索引,找不到返回异常

print(s1.index("?"))

count: 统计当前字符串中某一个元素的个数

print(s1.count("吃"))

print(s1.count("吃",1,6)) # 统计在1~6范围内出现的次数

  • center\ljust\rjust\zfillprint :表示填充

print("欢迎光临".center(30,"")) # 总宽度30,不够左右填充
print("欢迎光临".ljust(30,"-")) # 总宽度30,不够右边填充
print("欢迎光临".rjust(30,"-")) # 总宽度30,不够左边填充
print("欢迎光临".zfill(50))   # 总宽度为50,字符串右对齐显示,不够用0填充
  • expandtabs:表示对字符串进行分割

s1 = """
sean\t18\tmale\t     # \t表示制表符
tank\t84\tfemale\t
"""
print(s1.expandtabs())  # 修改制表符代表的空格数,默认表示8
print(s1.expandtabs())

5.is数字系列

num1 = b'4'    #  bytes 

num2 = u'4'      #unicode,python3中无需加u就unicode

num3 = '四'        #中文数字

num4 = 'Ⅳ'       #罗马数字

# isdigt:bytes,unicode
>>> num1.isdigit()
True
>>>num2.isdigit()
True
>>> num3.isdigit()
False
>>> num4.isdigit()  
False

# isdecimal:uncicode (bytes类型无isdecimal方法)
>>> num2.isdecimal()  
True
>>> num3.isdecimal()  
False
>>> num4.isdecimal()  
False

#isnumberic:unicode,中文数字,罗马数字(bytes类型无isnumberic方法)
>>> num2.isnumeric()  
True
>>> num3.isnumeric()  
True
>>> num4.isnumeric()  
True

# 三者不能判断浮点数
>>> num5 = '4.3'
>>> num5.isdigit()
False
>>> num5.isdecimal()
False
>>> num5.isnumeric()
False

 

 

===============类型总结===================

有序or无序 : 有序

可变or不可变 : 不可变类型

一个值or存多个值 存一个值

 

值变id不变就是可变类型

值变id也变就是不可变类型存

猜你喜欢

转载自www.cnblogs.com/jiangxianseng/p/11802230.html