str1, str2, str3 = "A", "B", "c"
Python中有7个标准的数据类型:Bool(布尔)、Number(数字)、String(字符串)、Tuple(元组)、List(列表)、Set(集合)、Dictionary(字典)。
str1, str2, str3 = "A", "B", "c"
在Python标准的6个基本数据类型中,Number、String、Tuple是不可变数据,其余3个都是可变数据。那到底什么是不可变数据呢
不可变的数据类型: 不可变是指系统分配的位置是固定的,比如以下
x = 1
print(id(x))
y = 1
print(id(y))
z = 2
print(id(z))
x = 2
print(id(x))
1842763295024
1842763295024
1842763295056
1842763295056
布尔类型 Bool
布尔类型既True和False。
string = "Hello Word"
print(string.isalnum()) # 查看是否所有字符都是数字 -> False
print(string.isalpha())
print(string.isupper()) # Check if string contains upper case
print(string.istitle())
False
False
False
True
True and False # False
True and True # True
False and True # False
False or True # True
False and False # False
True ^ False # True
True ^ True # False
False
数字 Number
Python3中数字有4种类型:int(整数)、long(长整数)、float(浮点数)、complex(复数)。我们可以使用内置的type函数来查看变量所指的对象类型:
a, b, c, d = True, 20, 5.5, 4+3j
print(type(a), type(b), type(c), type(d))
# <class 'bool'> <class 'int'> <class 'float'> <class 'complex'>
<class 'bool'> <class 'int'> <class 'float'> <class 'complex'>
整数可以使用十六进制和八进制来表示:
number = 0xA0F # 十六进制
print(number) # 2575
number = 0o37 # 八进制
print(number) # 31
2575
31
任何带有小数点的数字都是浮点数,当我们把浮点数和整数混合的时候,我们会得到一个浮点数。 我们也可以在
print(2 + 2) # 加法
print(3 - 2) # 减法
print(2 * 3) # 乘法
print(3 / 2) # 除法, 得到一个浮点数
print(2 // 4) # 除法, 得到一个整数
print(3 % 2) # 取余
print(3 ** 2) # 乘方
python默认的是17位小数的精度,前16位是准确的,第17位开始不准确
复数(complex)是由实数部分和虚数部分构成的,可以用a + bj或者complex(a, b)表示,复数的实部a和虚部b都是浮点数。
除了数字的基本操作之外,我们也需要注意数字的命名规则:
universe_age = 14_000_000_000 # 在数字中使用下划线可以让很长的数字易读性更强
MAX_CONNECTIONS = 5000 # 恒定的数字需要全部大写
字符串 String
字符串是由一系列的字符组成的,是由单引号 ‘ 或双引号 ” 括起来的,同时使用反斜杠 \ 转义特殊字符。
str1 = 'This is a string.'
str2 = "This is also a string."
双引号和单引号的自由转换,可以让你在引号中套用引号更方便:
str1 = 'I told my friend, "Python is my favorite language!"'
str2 = "The language 'Python' is named after Montry Python, not the snake."
我们可以在字符串中带入变量,只要在开头引号前加f就可以了 (f代表format)
first_name = "Enoch"
last_name = "Zheng"
full_name = f"{first_name} {last_name}" # Enoch Zheng
full_name2 = f"{first_name.upper()} {last_name.upper()}" # ENOCH ZHENG
字符”\”可以转义很多特殊符号,不如\n表示换行,\t表示制表符,字符\本身也需要转义,所以\表示的字符就是\
print("I\'m ok.") # I'm ok.
print("I\'m learning\nPython.")
"""
I'm learning
Python.
"""
I'm ok.
I'm learning
Python.
"\nI'm learning\nPython.\n"
字符串需要注意的事项:为了避免字符串里为了实现转义,需要加很多的\,Python允许你在字符串的开头加入r,让引号的内部字符串不转义
print(r"\\\\t\\") # \\\t\\
'''print('One of Python's strengths is its diverse community.') # Error'''
print('One of Python\'s strengths is its diverse community.') # Works fine
\\\\t\\
One of Python's strengths is its diverse community.
字符串的操作和函数 字符串的连接符和内置操作:加号(+)是字符串的连接符,星号(*)用来复制字符串,请看下面代码:
str = 'TuringPlanet'
print (str) # 输出字符串 -> TuringPlanet
print (str + "ENOCH") # 连接字符串 -> TuringPlanetEnoch
print (str * 2) # 输出字符串两次 -> TuringPlanetTuringPlanet
print (str[0:-1]) # 输出第一个到倒数第二个的所有字符 -> TuringPlane
print (str[0]) # 输出字符串第一个字符 -> T
print (str[2:5]) # 输出从第三个开始到第五个的字符 -> rin
print (str[2:]) # 输出从第三个开始的后的所有字符 -> ringPlanet
TuringPlanet
TuringPlanetENOCH
TuringPlanetTuringPlanet
TuringPlane
T
rin
ringPlanet
有用的字符串函数:
name = "Hello World"
print(name.title()) # Hello World
print(name.upper()) # HELLO WORLD
print(name.lower()) # hello world
str1 = " Hello"
str2 = " World"
# 用来消除空格的函数
print(str1.strip() + str2.strip()) # HelloWorld
Hello World
HELLO WORLD
hello world
HelloWorld
字符串格式化
Python支持格式化字符串的输出,这有助于我们编写复杂的字符串:
print("%s was born in %d." % ('Python', 1991))
print("{} was born in {}.".format('Python', 1991))
message = "{} was born in {}"
print(message.format('Python', 1991))
lan = 'Python'
year = 1991
print(f"{lan} was born in {year}.")
Python was born in 1991.
Python was born in 1991.
Python was born in 1991
Python was born in 1991.
常用运算符和函数参照表 算数运算符 Arithmetic operatiors