【Python】(4)数据类型及其使用:整型、浮点数、复数、字符串、Booleans

目录

一、整型

二、进制转换

         2.1 二进制

        2.2 八进制

        2.3 十六进制

        2.4 十进制

        2.5 练习

三、浮点数

        3.1 float

        3.2 Decimal

四、复数

五、字符串

        5.1 转义字符

        1、r

        2、\\

       5.2 字符串切片取值

        1、三部曲

        2、字符串常用方法

五、Booleans

        【哪些布尔值为假】

六、常量


​​​​​​​

一、整型

Python2

Python3

有整型int和长整型long

只有整型int

二、进制转换

         2.1 二进制

0b开头

二进制转换-bin,任意进制的数转换为2进制,接收一个int,返回一个str

>>> a = 10
>>> bin(a)
'0b1010'
>>> result = bin(a)
>>> type(result)
<class 'str'>

        2.2 八进制

0o开头,只包含0-7

进制转换函数oct,返回str类型

>>> b = 0o11
>>> b
9
>>> oct(15)
'0o17'
>>> oct(16)
'0o20'
>>> type(oct(18))
<class 'str'>

        2.3 十六进制

0x开头

类型转换函数hex ,接收一个int,返回一个str

>>> a
10
>>> hex(a)
'0xa'
>>> hex(16)
'0x10'
>>> hex(15)
'0xf'

        2.4 十进制

>>> int(0x11)
17
>>> int(0b01)
1
>>> int('12')
12
>>> int('0x22')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '0x22'

        2.5 练习

#小小加法计算器
num1 = int(input("please input num1:"))
num2 = int(input("please input num2:"))
print("the sum = ", num1 + num2)
#进制转换器
num = int(input("请输入一个十进制数: "))
print("二进制数为: ", bin(num))
print("八进制数为: ", oct(num))
print("十六进制数为: ", hex(num))

三、浮点数

        3.1 float

不精确的

>>> i = 1
>>> i = i - 0.1
>>> i
0.9
>>> i = i - 0.1
>>> i
0.8
>>> i = i - 0.1
>>> i
0.7000000000000001

        3.2 Decimal

是精确的

>>> from decimal import Decimal
>>> mydec = Decimal.from_float(12.22)
>>> mydec
Decimal('12.2200000000000006394884621840901672840118408203125')
>>> mydec = Decimal('12.22')
>>> mydec
Decimal('12.22')

四、复数

>>> 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
>>> type(a.imag)
<class 'float'>
>>> 

五、字符串

是一个不可变序列

>>> a = "abcd"
>>> a[2]'c'
>>> a[2] = "x"Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment

        5.1 转义字符

        1、r

让转义字符不转义,作为原始字符串输出

 

>>> a = r"sanchuang tongle \n  huanying nin"
>>> print(a)
sanchuang tongle \n  huanying nin
>>> a = "sanchuang tongle \n  huanying nin"
>>> print(a)
sanchuang tongle 
  huanying nin

        2、\\

同在前加r

>>> a = "san \\n le"
>>> print(a)
san \n le

       5.2 字符串切片取值

str[stand:end:step],step默认为1

        1、三部曲

1.如果step为正,表示从左到右截取,如果step为负,表示从右到左截取

2.确认start和end的位置(start必须要小于end)

3.确认step的步长是多少

str1 = "abcdefghijk"
print("1: ", str1[2])
print("2: ", str1[1:])  #默认end是无穷,即从开始号到结尾都可输出
print("3: ", str1[1:3])  #区间:左闭右开,第三号取不到
print("4: ", str1[-1:])
print("5: ", str1[-3:-1])
print("6: ", str1[4:0:-1])
#执行结果
1:  c
2:  bcdefghijk
3:  bc
4:  k
5:  ij
6:  edcb

        2、字符串常用方法

级联字符串:两个字符串相邻放着,他们会被python自动级联

>>> info = "cali," '18'
>>> info
'cali,18'

1、判断系列

返回值要么为True,要么为False

>>> "sbc 213".isalnum()  #有空格
False
>>> "sbc213".isalnum()
True
#是不是以aa开头
 >>> "aabb y".startswith("aa")
True
#是不是以y结尾
>>> "aabb y".endswith("y")
True
#从下标为5的开始,判断是否以y开头
"aabb y".startswith("y",5)
True

2、查找统计类

建议使用find

>>> 'fanyouyou'.index("ou")
4
>>> 'fanyouyou'.index("ou2")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: substring not found
>>> 'fanyouyou'.find("ou2")
-1
>>> 'fanyouyou'.find("ou")
4

3、转换类

msg = "i Am ok"
# upper 大写
print(msg.upper())
# lower 小写
print(msg.lower())
# 单词首字母大写
print(msg.title())
# 大小写互换
print(msg.swapcase())
# # 执行结果
I AM OK
i am ok
I Am Ok
I aM OK

4、切割

# 按冒号进行切割
msg = "root:x:0:0:root:/root:/bin/bash"
print(msg.split(":"))

5、拼接

==》加号拼接

==》join拼接

# 拼接 将列表中的字符串拼接在一起,用“#”拼接
print("#".join(msg_lst))

msg = "ab**5%ef"
msg_lst1 = msg.split("*")
msg_lst2 = ("#".join(msg_lst1))
msg_lst3 = msg_lst2.split("%")
print("#".join(msg_lst3))

6、替换

msg = "ab**5%ef"
print(msg.replace("*", "#"). replace("%", "#"))

7、去除首尾字符(默认是空白字符)

# 去除首尾字符(默认是空白字符)
msg = "# abc #sanchuang#"
print(msg.strip())
print(msg.strip("#"))
#替换
print(msg.replace("#", ''))
## 执行结果
# abc #sanchuang#
 abc #sanchuang
 abc sanchuang

8、填充(居中对齐,左对齐,右对齐)

# 填充(居中对齐,左对齐,右对齐)
msg = "欢迎光临"
print(msg.center(50, "*"))
print(msg.ljust(50, "*"))
print(msg.rjust(50, "*"))
# # 执行结果
***********************欢迎光临***********************
欢迎光临**********************************************
**********************************************欢迎光临

五、Booleans

booleans值是一个逻辑值,只有True和False(真和假)

True ==>1 False ==>0 可以参与计算

python3里:True False都是关键字 (python2里还不是关键字)

        【哪些布尔值为假】

总共8个 ==> '',0,0.0,(),[],{},None,False

None是一个特殊的常量,表示一种特殊的数据类型(NoneType),什么都没有

六、常量

一旦初始化后不能修改的固定值

Python中没有常量,通常用大写(约定俗成,非强制)表示,如:PI=3.1415926

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值