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

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

目录

一、整型

二、进制转换

         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)

        2.2 八进制

以0o开头,只包含0-7

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

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

        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 "", line 1, in 
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)

>>> 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)

>>> 
五、字符串

是一个不可变序列

>>> a = "abcd"
>>> a[2]'c'
>>> a[2] = "x"Traceback (most recent call last):
  File "", line 1, in 
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 "", line 1, in 
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

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/867592.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-12
下一篇2022-05-12

发表评论

登录后才能评论

评论列表(0条)

    保存