30天学习Python第二天👨💻——数据类型1
介绍
在深入了解编程语言甚至人类语言的基本细节之前,我们需要理解它的术语和基本原理,并开始构建一个基本的心智模型,我们可以在需要的时候返回来参考它。
任何编程的构建模块都可以分为下面的几个部分:
- 术语
- 数据类型
- 动作(功能)
- 最佳实践
今天我花了一些时间来理解Python的一些基本术语、语法、数据类型和一些动作——在编程术语中称为函数。
数据类型
用简单的词表示数据类型是表示值的一种方式。在自然语言中,我们有字母、数字、符号作为不同类型的常用值。类似的,Python里包含下面几种基础的数据类型:
-
int (表示整数)
-
float (表示小数)
-
str (表示字符串)
-
bool (表示布尔值)
-
list
-
tuple
-
set
-
dict
-
complex (不是经常使用)
-
None (表示无值)
这些是Python中可用的标准数据类型。要创建我们自己的数据类型,需要使用类。也可以通过导入外部库或模块来使用专用的数据类型。
在JavaScript,有下面几种数据类型:
-
number (对整数和小数都适用)
-
string
-
boolean
-
symbol
-
bigInt
-
null
-
undefined也是一种作为非基类的对象
今天我花了些时间来理解Python的数字和字符串类型。
数值
有3种类型的数值数据类型:
- int(存储无限大的整数)
- float(存储浮点实数值)
- complex(我跳过了它,因为我知道它不常用,就类似于JavaScript中的bigInt一样)
在JavaScript中,有两种数字类型,Number和BigInt
type是用于确定值或表达式类型的函数(类似于中的JavaScript中的typeof操作符)
num = 100
print(type(num)) # <class 'int'>
num2 = 99.99
print(type(num2)) # <class 'float>
expression1 = num * 10
print(type(expression1)) # <class 'int'>
expression2 = num + num2
print(type(expression2)) # <class 'float'>
在Python中,变量赋值是通过写入名称并使用=操作符赋值来完成的,而在JavaScript中,变量前面需要加var,const,或者let关键字
数学函数
有一些内置的数学函数,使我们能够轻松地计算各种数学运算
Math Functions and Constants-这个文档包含了所有的内置函数
数学函数和常量
print(round(2.1)) # 2
print(round(5.9)) # 6
print(abs(-34)) # 34
后面我们会详细研究数学模块
变量
变量用来存储值,在python中,有一些变量命名的约定:
变量已经以字母(最好是小写字母)或者下划线开头,后面跟字母、数字或者下划线
Snake是用多个单词定义变量的传统方法,比如user_name(而在JavaScript中推荐使用userName)
变量名是大小写敏感的
字符串
Python中的字符串是一个有序的字符序列(类似于Javascript)
name = 'Python' # 单引号内的字符串赋值
name2 = "Python" # 双引号内的字符串赋值
name3 = '''This is a a very long string and supports
multiline statements as well''' # 字符串合并在三个单引号内
name4 = 'Hello! \"Rockstar Programmer\"' # 带有转义字符序列的字符串
print(type(name)) # <class 'str'>
print(type(name2)) # <class 'str'>
print(type(name3)) # <class 'str'>
print(type(name4)) # <class 'str'>
字符串合并
与Javascript类似,字符串可以使用+操作符连接,它只是用来连接字符串。
first_name = 'Mike'
last_name = 'Tyson'
print(first_name + ' ' + last_name) # Mike Tyson
类型转换
与隐式类型转换(又名类型强制)的Javascript不同,如果对不同类型的值进行操作,Python将抛出错误
user_name = 'John'
age = 40
print(user_name + age) # TypeError: can only concatenate str (not "int") to str
# This would work in Javscript where it would convert the result to string type
在Python中,类型需要显式转换,才能执行对不同类型进行操作
user_name = 'John'
age = 40
print(user_name + str(age)) # John40
print(type str(age)) # <class 'str'>
类似地,字符串可以转换成数字
lucky_number = 7
lucky_number_stringified = str(7)
lucky_number_extracted = int(lucky_number_stringified)
print(lucky_number_extracted) # 7
今天就到这里!仍然要保持简单和轻松了,接下来我们将继续理解其他字符串操作、内置方法和函数以及布尔和列表类型。第三天将会让你感到非常兴奋!
祝你好运!