一、字面量
字面量:在代码中,被写下来的的固定的值,称之为字面量
下面我们来看一看Python中有那些值呢?
对于我们初学者,我们现在只学习数字与字符串,后面复杂的类型,我们以后再进行学习。
- 对于数字类型(number),我们只要学习过任何一种编程语言都会对它很熟悉,和C语言不一样的是Python支持复数
(C99的C语言也开始支持了布尔类型,C99提供了<stdbool.h>
头文件,该文件让bool成为_Bool的别名,同时宏定义了true和false,分别是1和0的字面量) - 字符串(string),又称文本,是由任意数量的字符如中文、英文、各类符号、数字等组成。所以叫做字符串。
如:
‘Python是最好的编程语言’
“@#$%^&*”
“123456789”
Python中,字符串需要用单引号(')双引号(")包围起来被引号包围起来的数据都是字符串
下面我们来演示一下学习的这些类型,如何在代码中表达?
print()函数,打印内容到屏幕上(与C语言的printf()功能相似,但是使用起来更加方便简洁)
# 【字面量】 # 单引号与双引号括起来的字符都是字符串 'Python语言' "Python编程" # 整形 666 # 浮点数 13.14 # 复数 2 + 3j # 布尔 True # 打印数字 print(666) print(13.14) print("Python编程") print(2 + 3j) print(True) print(1j + 2 + 3j) print(1 + 3 / 2)
这里需要注意的是在Python
中,3 / 2 = 1.5 而不是1,在C/C++/Java里面整数除以整数最后的结果还是整数。
二、注释
定义: 在程序代码中对程序代码进行解释说明的文字。
作用: 注释不是程序,不能被执行,只是对程序代码进行解释说明,让别人可以看懂程序代码的作用,能够大大增强程序的可读性。
位置: 注释的一般位置都是代码的上边或者右边。
注释的分类
- 单行注释:以#开头,#右边的所有文字当作说明,而不是真正要执行的程序,起辅助说明作用。
注意:#号和注释内容一般建议以一个空格隔开,这样写更看起来更加简洁易懂,不是强制要求! - 多行注释:以一对三个双引号引起来"“” “”"说明一段代码的作用使用方法,多行注释一般对: Python文件、类或方法进行解释
- 单行注释中能使用多行注释,但是会被会被一起注释。
- 多行注释中能使用单行注释也会被会被一起注释。
- 多行注释中不能使用多行注释
三、变量
Python
支持的数字类型的变量有:int
float
bool
complex
对于字符串有string
类型。
- 不同于C语言的是
Python
中的int
类型的变量可以存储的数据理论上是无穷大的,如果数据很大就会自动扩容。
占用字节:通常为4个字节或8个字节,具体大小取决于计算机架构和Python版本。 Python
里面的浮点数float
相当于C语言里面的double
类型,是双精度类型的浮点数。
占用字节:通常为8个字节,但在某些系统中可能为4个字节。Python
里面的string
与C++的string
类似,Python
里面求字符串长度的函数是len()
函数Python
里面的bool
类型的变量对应的真假判断的逻辑值是True
和False
与C/C++/Java里面的true
false
形式不同。
占用大小:占用1个字节
和 C++ / Java 等语言不同, Python 变量的类型不需要显式指定, 而是在赋值的时候确定的,通过type()
函数可以查看一个变量的类型。
另外Python中定义变量是不需要加类型的,当然也可以在变量的后面加上类型提示 : 类型
,类型提示仅仅起到提示作用,不影响代码的任何逻辑。
a = 2 b: float = 3.14 c: str = "Python" d = 2 + 3j print(type(a)) print(type(b)) print(type(c)) print(type(d))
1、动态类型特性
在 Python 中, 一个变量是什么类型, 是可以在 “程序运行” 过程中发生变化的. 这个特性称为 “动态类型” 。
a = 2 print(type(a)) a = "hello" print(type(a))
在程序执行过程中, a 的类型刚开始是 int, 后面变成了 str。
C++/Java 这样的语言则不允许这样的操作. 一个变量定义后类型就是固定的了. 这种特性则称为 “静态类型”。
动态类型特性是一把双刃剑:
- 对于中小型程序, 可以大大的解约代码量(比如写一段代码就可以同时支持多种类型)。
- 对于大型程序,则提高了模块之间的交互成本. (程序猿 A 提供的代码难以被 B 理解)。
2、强制类型转换
有些时候我们需要的数据类型与我们实际要使用的数据类型不一致,这时我们就要进行强制类型转换以满足我们的要求。
var_str = str(2) print(type(var_str)) print(var_str) var_str = float(3.14) print(type(var_str)) print(var_str) var_float = float(2) print(type(var_float)) print(var_float)
var_float = float("12") print(type(var_float)) print(var_float) var_int = int("12") print(type(var_int)) print(var_int)
类型转换不是万能的
- 任何类型,都可以通过
str()
,转换成字符串 - 字符串内必须真的是数字,才可以将字符串转换为数字
- 浮点数转整数会丢失精度,也就是小数部分。
var_int = int("a") # 字符串中全部是整数数字才能转化为 int 类型的数据 var_int = int("12.13") # 字符串中全部是浮点数才能转化为 float 类型的数据
3、变量的命名规则
与C/C++变量命名规则一致,标识符命名中,允许出现:英文,中文,数字,下划线,但是不能以数字开头,也不能与关键字冲突。
注意Python里面可以使用中文作为变量名,但是不建议使用。
变量 = 10 print(变量)
Python
中的关键字:
四、输入与输出
Python 使用 print
函数输出到控制台。
print('hello')
Python 使用 input()
函数, 从控制台读取用户的输入。
Python从文件中读取的数据,默认是字符串,从input()
语句读取的内容,默认结果也是字符串,如果需要数字就需要强制类型转换。
a = input('请输入第一个整数:') b = input('强输入第二个整数:') print(a) print(type(a)) print(b) print(type(b))
input
的参数相当于一个 “提示信息”, 也可以没有.input
的返回值就是用户输入的内容. 是字符串类型.
五、字符串的扩展
1、字符串的定义方式
字符串在Python中有多种定义形式:
- 单引号定义法: name =
‘hello world'
- 双引号定义法: name =
"hello world"
- 三引号定义法: name =
"""hello world"""
三引号定义法,和多行注释的写法一样,使用变量接收它,它就是字符串
不使用变量接收它,就可以作为多行注释使用。
字符串的引号嵌套问题:
如果我们想要定义的字符串本身是包含:单引号、双引号自身,我们应该如何解决?
一般来说有三种解决办法:
- 单引号定义法,可以内含双引号。
- 双引号定义法,可以内含单引号
- 可以使用转移字符(
\
)来将引号解除效用,变成普通字符串
name1 = '"这里包含了双引号"' print(name1) name2 = "'这里包含了单引号'" print(name2) name3 = "这里使用了转义字符\'\"号" print(name3)