|
|
@@ -14,7 +14,7 @@
|
|
|
- 浮点型:浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,浮点数除了数学写法(如`123.456`)之外还支持科学计数法(如`1.23456e2`)。
|
|
|
- 字符串型:字符串是以单引号或双引号括起来的任意文本,比如`'hello'`和`"hello"`,字符串还有原始字符串表示法、字节字符串表示法、Unicode字符串表示法,而且可以书写成多行的形式(用三个单引号或三个双引号开头,三个单引号或三个双引号结尾)。
|
|
|
- 布尔型:布尔值只有`True`、`False`两种值,要么是`True`,要么是`False`,在Python中,可以直接用`True`、`False`表示布尔值(请注意大小写),也可以通过布尔运算计算出来(例如`3 < 5`会产生布尔值`True`,而`2 == 1`会产生布尔值`False`)。
|
|
|
-- 复数型:形如`3+5j`,跟数学上的复数表示一样,唯一不同的是虚部的`i`换成了`j`。
|
|
|
+- 复数型:形如`3+5j`,跟数学上的复数表示一样,唯一不同的是虚部的`i`换成了`j`。实际上,这个类型并不能算作常用类型,大家了解下就可以了。
|
|
|
|
|
|
#### 变量命名
|
|
|
|
|
|
@@ -54,26 +54,7 @@ print(a % b)
|
|
|
print(a ** b)
|
|
|
```
|
|
|
|
|
|
-```Python
|
|
|
-"""
|
|
|
-使用input()函数获取键盘输入
|
|
|
-使用int()进行类型转换
|
|
|
-用占位符格式化输出的字符串
|
|
|
-
|
|
|
-Version: 0.1
|
|
|
-Author: 骆昊
|
|
|
-"""
|
|
|
-
|
|
|
-a = int(input('a = '))
|
|
|
-b = int(input('b = '))
|
|
|
-print('%d + %d = %d' % (a, b, a + b))
|
|
|
-print('%d - %d = %d' % (a, b, a - b))
|
|
|
-print('%d * %d = %d' % (a, b, a * b))
|
|
|
-print('%d / %d = %f' % (a, b, a / b))
|
|
|
-print('%d // %d = %d' % (a, b, a // b))
|
|
|
-print('%d %% %d = %d' % (a, b, a % b))
|
|
|
-print('%d ** %d = %d' % (a, b, a ** b))
|
|
|
-```
|
|
|
+在Python中可以使用`type`函数对变量的类型进行检查。程序设计中函数的概念跟数学上函数的概念是一致的,数学上的函数相信大家并不陌生,它包括了函数名、自变量和因变量。如果暂时不理解这个概念也不要紧,我们会在后续的章节中专门讲解函数的定义和使用。
|
|
|
|
|
|
```Python
|
|
|
"""
|
|
|
@@ -89,16 +70,14 @@ b = 12.345
|
|
|
c = 1 + 5j
|
|
|
d = 'hello, world'
|
|
|
e = True
|
|
|
-print(type(a))
|
|
|
-print(type(b))
|
|
|
-print(type(c))
|
|
|
-print(type(d))
|
|
|
-print(type(e))
|
|
|
+print(type(a)) # <class 'int'>
|
|
|
+print(type(b)) # <class 'float'>
|
|
|
+print(type(c)) # <class 'complex'>
|
|
|
+print(type(d)) # <class 'str'>
|
|
|
+print(type(e)) # <class 'bool'>
|
|
|
```
|
|
|
|
|
|
-> 说明:上面的代码中用到了Python中的内置函数`type`来获得变量的数据类型,程序设计中函数的概念跟数学上函数的概念是一致的,数学上的函数相信大家并不陌生,它包括了函数名、自变量和因变量。如果暂时不理解这个概念也不要紧,我们会在后续的章节中专门讲解函数的定义和使用。
|
|
|
-
|
|
|
-在对变量类型进行转换时可以使用Python的内置函数。
|
|
|
+可以使用Python中内置的函数对变量类型进行转换。
|
|
|
|
|
|
- `int()`:将一个数值或字符串转换成整数,可以指定进制。
|
|
|
- `float()`:将一个字符串转换成浮点数。
|
|
|
@@ -106,9 +85,34 @@ print(type(e))
|
|
|
- `chr()`:将整数转换成该编码对应的字符串(一个字符)。
|
|
|
- `ord()`:将字符串(一个字符)转换成对应的编码(整数)。
|
|
|
|
|
|
+下面的代码通过键盘输入两个整数来实现对两个整数的算术运算。
|
|
|
+
|
|
|
+```Python
|
|
|
+"""
|
|
|
+使用input()函数获取键盘输入(字符串)
|
|
|
+使用int()函数将输入的字符串转换成整数
|
|
|
+使用print()函数输出带占位符的字符串
|
|
|
+
|
|
|
+Version: 0.1
|
|
|
+Author: 骆昊
|
|
|
+"""
|
|
|
+
|
|
|
+a = int(input('a = '))
|
|
|
+b = int(input('b = '))
|
|
|
+print('%d + %d = %d' % (a, b, a + b))
|
|
|
+print('%d - %d = %d' % (a, b, a - b))
|
|
|
+print('%d * %d = %d' % (a, b, a * b))
|
|
|
+print('%d / %d = %f' % (a, b, a / b))
|
|
|
+print('%d // %d = %d' % (a, b, a // b))
|
|
|
+print('%d %% %d = %d' % (a, b, a % b))
|
|
|
+print('%d ** %d = %d' % (a, b, a ** b))
|
|
|
+```
|
|
|
+
|
|
|
+> **说明**:上面的print函数中输出的字符串使用了占位符语法,其中`%d`是整数的占位符,`%f`是小数的占位符,`%%`表示百分号(因为百分号代表了占位符,所以带占位符的字符串中要表示百分号必须写成`%%`),字符串之后的`%`后面跟的变量值会替换掉占位符然后输出到终端中,运行上面的程序,看看程序执行结果就明白啦。
|
|
|
+
|
|
|
### 运算符
|
|
|
|
|
|
-Python支持多种运算符,下表大致按照优先级从高到低的顺序列出了所有的运算符,我们会陆续使用到它们。
|
|
|
+Python支持多种运算符,下表大致按照优先级从高到低的顺序列出了所有的运算符,运算符的优先级指的是多个运算符同时出现时,先做什么运算然后再做什么运算。除了我们之前已经用过的赋值运算符和算术运算符,我们稍后会陆续讲到其他运算符的使用。
|
|
|
|
|
|
| 运算符 | 描述 |
|
|
|
| ------------------------------------------------------------ | ------------------------------ |
|
|
|
@@ -129,11 +133,11 @@ Python支持多种运算符,下表大致按照优先级从高到低的顺序
|
|
|
|
|
|
>**说明:** 在实际开发中,如果搞不清楚运算符的优先级,可以使用括号来确保运算的执行顺序。
|
|
|
|
|
|
-下面的例子演示了赋值运算符和算术运算符的使用。
|
|
|
+下面的例子演示了赋值运算符和复合赋值运算符的使用。
|
|
|
|
|
|
```Python
|
|
|
"""
|
|
|
-赋值和算术运算符的使用
|
|
|
+赋值运算符和复合赋值运算符
|
|
|
|
|
|
Version: 0.1
|
|
|
Author: 骆昊
|
|
|
@@ -141,17 +145,9 @@ Author: 骆昊
|
|
|
|
|
|
a = 10
|
|
|
b = 3
|
|
|
-print(a + b) # 13
|
|
|
-print(a - b) # 7
|
|
|
-print(a * b) # 30
|
|
|
-print(a / b) # 3.3333333333333335
|
|
|
-print(a // b) # 3
|
|
|
-print(a ** b) # 1000
|
|
|
-print((a - 1) ** 0.5) # 3.0
|
|
|
-c = 4
|
|
|
-c += b # 相当于:c = c + b
|
|
|
-c *= a + 2 # 相当于:c = c * (a + 2)
|
|
|
-print(c) # 想想这个地方是多少
|
|
|
+a += b # 相当于:a = a + b
|
|
|
+a *= a + 2 # 相当于:a = a * (a + 2)
|
|
|
+print(a) # 想想这里会输出什么
|
|
|
```
|
|
|
|
|
|
下面的例子演示了比较运算符(关系运算符)、逻辑运算符和身份运算符的使用。
|
|
|
@@ -164,28 +160,33 @@ Version: 0.1
|
|
|
Author: 骆昊
|
|
|
"""
|
|
|
|
|
|
+flag0 = 1 == 1
|
|
|
flag1 = 3 > 2
|
|
|
flag2 = 2 < 1
|
|
|
flag3 = flag1 and flag2
|
|
|
flag4 = flag1 or flag2
|
|
|
-flag5 = not flag1
|
|
|
-print("flag1 = ", flag1) # flag1 = True
|
|
|
-print("flag2 = ", flag2) # flag2 = False
|
|
|
-print("flag3 = ", flag3) # flag3 = False
|
|
|
-print("flag4 = ", flag4) # flag4 = True
|
|
|
-print("flag5 = ", flag5) # flag5 = False
|
|
|
+flag5 = not (1 != 2)
|
|
|
+print('flag0 =', flag0) # flag0 = True
|
|
|
+print('flag1 =', flag1) # flag1 = True
|
|
|
+print('flag2 =', flag2) # flag2 = False
|
|
|
+print('flag3 =', flag3) # flag3 = False
|
|
|
+print('flag4 =', flag4) # flag4 = True
|
|
|
+print('flag5 =', flag5) # flag5 = False
|
|
|
print(flag1 is True) # True
|
|
|
print(flag2 is not False) # False
|
|
|
```
|
|
|
|
|
|
### 练习
|
|
|
|
|
|
-#### 练习1:华氏温度转摄氏温度。
|
|
|
+#### 练习1:华氏温度转换为摄氏温度。
|
|
|
+
|
|
|
+> 提示:华氏温度到摄氏温度的转换公式为:$C=(F - 32) \div 1.8$。
|
|
|
+
|
|
|
+参考答案:
|
|
|
|
|
|
```Python
|
|
|
"""
|
|
|
将华氏温度转换为摄氏温度
|
|
|
-F = 1.8C + 32
|
|
|
|
|
|
Version: 0.1
|
|
|
Author: 骆昊
|
|
|
@@ -198,6 +199,8 @@ print('%.1f华氏度 = %.1f摄氏度' % (f, c))
|
|
|
|
|
|
#### 练习2:输入圆的半径计算计算周长和面积。
|
|
|
|
|
|
+参考答案:
|
|
|
+
|
|
|
```Python
|
|
|
"""
|
|
|
输入半径计算圆的周长和面积
|
|
|
@@ -217,6 +220,8 @@ print('面积: %.2f' % area)
|
|
|
|
|
|
#### 练习3:输入年份判断是不是闰年。
|
|
|
|
|
|
+参考答案:
|
|
|
+
|
|
|
```Python
|
|
|
"""
|
|
|
输入年份 如果是闰年输出True 否则输出False
|
|
|
@@ -226,9 +231,9 @@ Author: 骆昊
|
|
|
"""
|
|
|
|
|
|
year = int(input('请输入年份: '))
|
|
|
-# 如果代码太长写成一行不便于阅读 可以使用\或()折行
|
|
|
-is_leap = (year % 4 == 0 and year % 100 != 0 or
|
|
|
- year % 400 == 0)
|
|
|
+# 如果代码太长写成一行不便于阅读 可以使用\对代码进行折行
|
|
|
+is_leap = (year % 4 == 0 and year % 100 != 0) or \
|
|
|
+ year % 400 == 0
|
|
|
print(is_leap)
|
|
|
```
|
|
|
|