python的基本数据类型

#***一***
#整型  python2中有长整型和整型, python3只有整型
#整型的表示 -- int
#二进制  以0b开头  bin
#八进制  以0o开头  oct
#十六进制 以0x开头  hex

#type(name):查看类型
# a = 123
# print(type(a))

#b = 0b111
#type(b)
#<class 'int'>
#bin(a)
#'0b1111011'
#result = bin(a)
#type(result)
# <class 'str'>

# >>> oct(15)
# '0o17'
# >>> hex(15)
# '0xf'
# >>> int(0b1111)
# 15
# >>> int('0b1111')
# Traceback (most recent call last):
#   File "<stdin>", line 1, in <module>
# ValueError: invalid literal for int() with base 10: '0b1111'

# num1 = int(input("请输入数字一:"))
# num2 = int(input("请输入数字二:"))
# print("两数之和为:",num1+num2)

# num1 = int(input("请输入数字:"))
# print("对应二进制为:",bin(num1))
# print("对应八进制为:",oct(num1))
# print("对应十六进制为:",hex(num1))


#浮点数  -- float   - 不精确的,使用二进制来表示
#带小数点的
# >>> a = 1.333
# >>> type(a)
# <class 'float'>
# >>> i = 1
# >>> i = i-0.1
# >>> i
# 0.9
# >>> i = i -0.1
# >>> i
# 0.8
# >>> i = i - 0.1
# >>> i
# 0.7000000000000001

#deciaml 精确的小数
# >>> from decimal import Decimal#导入函数:deciaml
# >>> mydec = Decimal(12.222)
# >>> mydec
# Decimal('12.2219999999999995310417943983338773250579833984375')
# >>> mydec = Decimal('12.222')
# >>> mydec
# Decimal('12.222')
# >>> type(mydec)
# <class 'decimal.Decimal'>


#复数  实部和虚部都存的浮点数
# >>> a = 4+5j
# >>> type(a)
# <class 'complex'>
# >>> dir(a)
# ['__abs__', '__add__', '__bool__', '__class__', '__delattr__', '__dir__', '__divmod__', '__doc__', '__eq__', '__float__', '__floordiv__', '__format__', '__ge__', '__getattribute__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__int__', '__le__', '__lt__', '__mod__', '__mul__', '__ne__', '__neg__', '__new__', '__pos__', '__pow__', '__radd__', '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rmod__', '__rmul__', '__rpow__', '__rsub__', '__rtruediv__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__truediv__', 'conjugate','imag', 'real']
# >>> a.real#实部
# 4.0
# >>> a.imag#虚部
# 5.0


#***二***
#字符串切片取值
#[start:end:step]:【开始位置:末尾位置:截取间隔】
#1、step为正还是为负,默认为1
#   为正  从左往右截取
#   为负  从右往左截取

# str1 = "abcdefgh"
# print(str1[0])
# print(str1[-5])#倒数第五个
# print(str1[1:6])  #下标从1取到6,不包括6[):左闭右开
# print(str1[-7:-2])
# print(str1[1::2])
# print(str1[-1::-2])
# print(str1[-7:-2:-1])
# #反向截取
# print(str1[::-1])
# print(str1[2:])
# print(str1[:5:-1])

#字符串是一个不可变数据类型,不可替换,会出错!
# str1 = "abbcccd"
# print(str1[2])
# str1[2] = "c"
# str1 = "abccccd"

#查看帮助
#help(str.count)#[]:可选项;():必填项



######常用方法属性
# a = "aaabbcdef"
# print(dir(a))
########判断系列  is
#判断是否全为数字   a.isdigit()    a.isnumeric  #isnumeric可以识别中文的一二三四
# num1 = 234
# print(dir(num1))
# num1 = "234.5"
# print(num1.isdigit())
#判断字符串全为数字\字母  isalnum
#判断是否全为字母: isalpha
# print("for".isidentifier())
#判断大小写  isupper  islower
#判断开头和结尾  startswith  endswith

#查找统计类
# str1 = "abced123aab"
#统计长度
# print(len(str1))
# #统计出现次数
# print(str1.count("ab"))
# #查看字符串第一次出现的位置下标
# print(str1.index("ed"))
# # print(str1.index("cc"))  #index查找下标,如果没有找到就会抛出异常,
# # print("xxxxxxxx")        #python中一旦抛出异常,程序就不会执行了
# print(str1.find("a"))
# print(str1.find("xx"))    #find查找下标,没有找到不会抛出异常,返回-1

######转换
# msg = "hello World"
# print("大写:",msg.upper())
# print("小写:", msg.lower())
#分割
# msg = "root:x:root::123:/home/root"
# print(msg)
# print(msg.split(":"))
# my_list = ["a","b","c"]
# print("".join(my_list))
# print("#".join(msg.split(":")))
# #替换
# # print(msg.replace(":","#"))

#去除字符串  strip默认去除首位空表, 传递#号进去表示去除首位的#号
# msg = "##   hello world   ##"
# print(msg.strip("#"))

# msg = "欢迎登录三创系统"
# #zfill 使用0填充,填充成40个字符
# print(msg.zfill(40))
# # 字符串居中填充
# print(msg.center(40,"*"))
# # 字符串左对齐填充
# print(msg.ljust(40,"*"))
# # 字符串右对齐填充
# print(msg.rjust(40,"*"))

# str1 = " hello "
# str2 = "sc"
# print(str1+str2)
# print(str2*4)


#***三***
##################% 格式化#############
# name = "sc"
# age = 18
# print("姓名:",name, "年龄:",age)
# print("姓名: %s,年龄:%d"%(name,age))
# print("姓名: %s,年龄:%s"%(age,name))
#从键盘输入用户名密码,然后输出 xx,欢迎登录
#%s
# ◼ 基本格式
# %[(name)][flags][width].[precision]typecode
# - (name):命名
# - flags: +,-,' '或0。+表示正数前面加号;-表示左对齐;' '为一个空格,表示在正数的左侧填充一个空
# 格,从而与负数对齐,0表示使用0填充。
# - width表示显示宽度
# - precision表示小数点后精度。
#typecode
#s  字符串
#d  十进制整数
#f  浮点数
#x  16进制数
#%   表示百分号本身
# name = "sc"
# print("第一个格式化:%10s"%name)
# print("第二个格式化:%-10s"%name)
# print("第二.二个格式化:%+10s"%name)
# print("第二.三个格式化:%010s"%name)
# print("第三个格式化:%10x"%10)
# print("第三个格式化:%+10x"%10)
# print("第三个格式化:%010x"%10)
# print("第三个格式化:% x"%10)
# print("第四个格式化:%06.3f"%2.54536456)
# print("第五个格式化: %.2f"%0.43546456)  ##--> 43.55%

#########format格式化############
# name = "wen"
# age = 18
# print("format01 --> 姓名:{},年龄:{}".format(name,age))
# print("姓名:{1},{1},{1}年龄:{0}".format(name,age))
# print("format01 --> 姓名:{name1}, 年龄:{age1}".format(name1=name,age1=age))

#{变量:[填充字符][对齐方式 <^>][宽度][格式]}:{}
# print("format01 -->{1:*^10}".format(10,20))
#^:居中填充、>:右对齐、<:左对齐
# #精度(保留2位小数)
# print("format02 -->{0:*>15.2f}".format(1/3))
# #进制
# print("format03 --> {0:b}".format(10))#得到一个二进制的10位数
# print("{0:o}".format(12))#得到一个八进制的12位数
# #千分位格式化
# print("format04 --> {0:,}".format(12345678))

##################f 标志符格式化
#********python3才支持  python2不支持
# name = "sc"
# age = 18
#f:可以直接把定义的名称放到{},是format的缩写
# print(f"姓名: {name}, 年龄: {age:a^10}")#用a居中填充10个字符
# msg = "8*y*cali*china**it*soft*linux*python"
# num1 = msg.count("*")
# msg2 = msg.replace("*","")
# print(num1*"*"+msg2)

#布尔类型
#True  False
# a = 4
# b = 3
# a > b

#为假:'', 0, 0.0, ()空元组, []空列表,{}空集合,None, False
#None是一个特殊的常量,表示一种特殊的数据类型(NoneTyoe)
#除了这些之外都是为真的

# name = "sc"
# age = 18
# print(f"姓名:{name},年龄:{age:a^10}")
# msg = "8*y*cali*china**it*soft*linux*python"
# #统计*个数
# num1 = msg.count("*")
# msg2 = msg.replace("*","")#前面写要替换的字符串,后面写要替换成什么
# print(num1*"*"+msg2)#将字符串里面的*全部移到前面
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值