Python青少年简明教程:基础知识
Python是大小写敏感的语言。编程语言中的“大小写敏感”意味着该语言在识别标识符、关键字或者其他语法元素时,会区分字母的大小写。在这种语言中,大写字母和小写字母被视为不同的字符,因此,同一个词或标识符的大写形式和小写形式将代表不同的含义或者是完全不同的变量。例如在大小写敏感的编程语言如C、C++、Java、JavaScript和Python中,变量myVariable和myvariable是两个完全不同的变量。
缩进
在 Python 中,缩进是一个重要的语法规则,用于表示代码块的结构。缩进不仅用于格式化代码,还决定了代码的逻辑层次。例如:
for i in range(5):
print(i) # 这个语句是循环体的一部分
print("Done") # 这个语句在循环体外
Python 官方推荐使用空格进行缩进。一个缩进级别通常是 4 个空格(这是PEP 8推荐的标准)。
Python缩进规则
和其它程序设计语言(如 Java、C 语言)采用大括号 "{}" 分隔代码块不同,Python 采用代码缩进和冒号 (:) 来区分代码块之间的层次。在 Python 中,对于类定义、函数定义、流程控制语句、异常处理语句等,行尾的冒号和下一行的缩进,表示下一个代码块的开始,而缩进的结束则表示此代码块的结束。注意,Python 中实现对代码的缩进,可以使用空格或者 Tab 键实现。但无论是手动敲空格,还是使用 Tab 键,通常情况下都是采用 4 个空格长度作为一个缩进量(默认情况下,一个 Tab 键就表示 4 个空格),但不推荐混用空格和制表符。
Python 代码第一行语句必须顶到最左边,不能有空格。当缩进不一致时,Python会抛出这个错误IndentationError
特殊情况:
长行的换行,如果一行太长需要换行,可以使用圆括号、方括号或花括号包围,Python会忽略这些括号内的换行。如:
long_list = [
"item1",
"item2",
"item3"
]
long_function_call(
arg1,
arg2,
arg3
)
注释
注释用于向代码添加说明,以使其更易于理解。有时(调试代码时)会使用注释来暂时禁用一段代码。
使用#符号可以在行内添加单行注释。这种注释从#开始直到行末。
# 这是一个单行注释
print("Hello, world!") # 这行代码打印 "Hello, world!"
Python没有正式的多行注释语法,但可以使用多个单行注释,或者使用三重引号(''' 或 """)来创建多行字符串,这也可以用作注释。
a.使用多个单行注释,例如:
# 求1到10的累加和
# 内置函数range(1, 11)用于生成一个从 1 开始到 10 结束的整数序列。
# 注意,包含1但不包含11。
sum = 0
for i in range(1, 11):
sum += i # 累加计算
print(sum) # 打印结果:55
b.使用三重引号,例如:
'''
求1到10的累加和
内置函数range(1, 11)用于生成一个从 1 开始到 10 结束的整数序列。
注意,包含1但不包含11。
'''
sum = 0
for i in range(1, 11):
sum += i # 累加计算
print(sum) # 打印结果:55
注意,使用三重引号实际上会创建一个字符串对象,虽然它未被赋值给任何变量,所以通常用于文档字符串(docstrings)和注释。
如果三重引号用放在函数、类或模块的开头,Python 会把它们当作文档字符串(docstring),这是一种特别的多行注释形式,用于生成文档,可以通过 __doc__ 属性 或 help() 函数查看。
Python 的保留字/关键字
保留字也称为关键字。保留字是 Python 语言中用于特定目的的单词,不能用作变量名、函数名或任何其他标识符名称。Python 的保留字包括:
False class is return
None continue lambda try
True def nonlocal while
and del not with
as elif or yield
assert else pass
break except raise
for if import in
from global
关键字可以执行如下命令进行查看:
import keyword
print(keyword.kwlist)
Python中的表达式
在Python中,表达式(expression)是指能够计算出一个值的代码片段。表达式可以由字面量(如数字、字符串等)、变量、操作符、函数调用等组成,它会产生一个值——可以被Python解释器计算并返回一个值。
字面量(Literal)是指在程序中直接表示固定值的表示法——是源代码中直接出现的数据值。
表达式可以是简单的,如一个数值或一个变量,也可以是复杂的,如包含多个运算符和函数调用的复杂表达式,以及列表、字典、集合等。
以下是一些Python表达式的例子:
12.34 :这是一个数值。
x = 10 :这是一个变量。变量是存储值的标识符。
2 + 2:这是一个简单的算术表达式,由两个数字和一个加法运算符组成。Python会计算这个表达式的值并返回结果4。
"Hello, " + "World!":这是一个字符串表达式,由两个字符串和一个加法运算符组成。Python会计算这个表达式的值并返回结果"Hello, World!"。
len("Hello"):这是一个函数调用表达式,由一个函数名和一个参数组成。Python会计算这个表达式的值并返回结果5。
x > 10:这是一个比较表达式,由一个变量、一个比较运算符和一个数字组成。Python会计算这个表达式的值并返回结果True或False。
Python的表达式可以非常复杂,并且可以包含各种各样的运算符、函数调用、方法调用等。
在Python中,你可以在任何需要一个值的地方使用表达式,例如在赋值语句中,或者在if语句的条件中,等等。
语句(Statement)
语句(Statement)是 Python 程序的基本执行单位。它是一个完整的指令,告诉 Python 解释器执行特定的操作。例子:
x = 5 # 赋值语句
if x > 0: # if 语句
print("Positive") # print 语句
for i in range(3): # for 循环语句
pass
del x # del 语句
方法(Method)
方法是与特定类型的对象相关联的函数。它定义了对象可以执行的操作——方法是特定对象类型的操作。
方法一般有返回值。方法的调用方式是通过实例名和点号(.)来调用来调用,语法格式: instance.method()。
例子:
my_list = [1, 2, 3]
my_list.append(4) # append 是列表的一个方法
length = len(my_list) # len 是一个内置函数,不是方法
my_string = "hello"
upper_string = my_string.upper() # upper 是字符串的一个方法
数与数制基础知识
二进制 (Base-2)
符号:使用0和1两个符号。
计算机的基本单位(比特)只能表示两种状态:0 或 1。因此,计算机内部的所有数据和指令都使用二进制表示。
位值原则:在二进制数中,每一位上的数字都有其特定的价值,这个价值取决于该位的位置。从右至左,每一位的值都是前一位的2倍。
进位规则:当某一位上的数值达到2时,需要向前一位进位1,这一位上的数值则变为0
a)从十进制转换到二进制
除以2取余法:
将十进制数除以2。
记录余数。
将商继续除以2,重复此过程直到商为0。
将余数逆序排列,即得到二进制数。
示例: 将十进制数13转换为二进制。
(13 ÷ 2 = 6) 余 (1)
(6 ÷ 2 = 3) 余 (0)
(3 ÷ 2 = 1) 余 (1)
(1 ÷ 2 = 0) 余 (1)
逆序排列余数1101,即十进制13转换为二进制为1101。
有小数的十进制小数转换成二进制
以小数点为界,拆分整数部分和纯小数部分转换
整数部分转换二进制,使用的是“除2取余法”。
小数部分的转换不同于整数部分,使用的是“乘2取整法”
例如:
b)从二进制转换到十进制
按位求和法:
从右至左,将每位上的数字乘以其对应的2的幂次方。
将结果相加。
示例、将二进制数(1101)转换为十进制。
1×2^3 + 1×2^2 + 0×2^1 + 1×2^0 = 8 + 4 + 0 + 1 = 13
有小数的二进制转换成十进制
以小数点为界,拆分整数部分和纯小数部分转换。对于整数部分,从左到右依次乘以2的幂,并将结果相加;对于小数部分,从右到左依次乘以2的负幂,并将结果相加。参加下图:
十六进制 (Base-16)
符号:使用0到9和A到F共16个符号。
位值原则:在十六进制数中,每一位上的数字都有其特定的价值,这个价值取决于该位的位置。从右至左,每一位的值都是前一位的16倍。
进位规则:当某一位上的数值达到16时,需要向前一位进位1,这一位上的数值则变为0。
a)从十进制转换到十六进制
除以16取余法:
将十进制数除以16。
记录余数(10以上用A-F表示)。
将商继续除以16,重复此过程直到商为0。
将余数逆序排列,即得到十六进制数。
示例: 将十进制数217转换为十六进制。
(217 ÷ 16 = 13) 余 9
(13 ÷ 16 = 0) 余13(D)
逆序排列余数D9,即十进制217转换为十六进制为D9。
b)从十六进制转换到十进制
按位求和法:
从右至左,将每位上的数字(10以上用A-F表示)乘以其对应的16的幂次方。
将结果相加。
示例: 将十六进制数(D9)转换为十进制。
(13 × 16^1 + 9 × 16^0 = 208 + 9 × 1 = 217)
二进制到十六进制:将二进制数从右向左每 4 位分成一组。如果最后一组少于 4 位,可以在前面补零。将每组4位二进制数转换成对应的十六进制数。
十六进制到二进制:将每个十六进制字符转换为 4 位二进制,然后拼接。
二进制与十六进制的对应关系:
0000 <--> 0
0001 <--> 1
0010 <--> 2
0011 <--> 3
0100 <--> 4
0101 <--> 5
0110 <--> 6
0111 <--> 7
1000 <--> 8
1001 <--> 9
1010 <--> A
1011 <--> B
1100 <--> C
1101 <--> D
1110 <--> E
1111 <--> F
附、关于数制及其转换杂谈 https://blog.csdn.net/cnds123/article/details/130237430