🤞目录🤞
💖一、变量的语法
(1)定义变量
(2)使用变量
💖二、变量的类型
(1)整数(int)
(2)浮点数(float)
(3)字符串(str)
(4)布尔(bool)
(6)列表(list)
(7)元组(tuple)
(8)字典(dict)
💖三、动态类型特性
💖四、注释
(1)注释行
(2)文档字符串
💖五、输入输出
(1)输入
(2)输出
💖六、运算符
(1)算数运算符
(2)关系运算符
(3)逻辑运算符
💖七、赋值运算符
(1)= 的使用
(2)复合赋值运算符
💖八、语句
(1)if 语句
(2)空语句pass
(3)while 循环
(4)for 循环
(5)continue
(6)break
变量是什么?
当你需要把一些计算的中间结果保存起来. 这个时候就需要用到变量。变量可以视为是一块能够容纳数据的空间 . 这个空间往往对应到 " 内存 " 这样的硬件设备上
🕘一、变量的语法
(1)定义变量
a = 10
- a 为变量名. 当我们创建很多个变量的时候, 就可以用名字来进行区分.
- = 为赋值运算符, 表示把 = 右侧的数据放到 = 左侧的空间中
命名建议使用小驼峰法:例子:addAll
(2)使用变量
a = 10
print(a)
在 Python 中 , 修改变量也是使用 = 运算 , 看起来和定义变量没有明显区别
🕘二、变量的类型
注意:和 C++ / Java 等语言不同, Python 变量的类型不需要显式指定, 而是在赋值的时候确定的
(1)整数(int)
a = 10
print(type(a))
注意: 和 C++ / Java 等语言不同, Python 的 int 类型变量, 表示的数据范围是没有上限的. 只要内存足够大, 理论上就可以表示无限大小的数据
(2)浮点数(float)
a = 0.5
print(type(a))
注意:和 C++ / Java 等语言不同, Python 的小数只有 float 一种类型, 没有 double 类型. 但是实际上Python 的 float 就相当于 C++ / Java 的 double, 表示双精度浮点数
(3)字符串(str)
a = 'hello'
print(type(a))
a = 'hello'
b = "hello"
c = 'he"ll"o'
d = "he'll'o"
e = '''h"e"l'l'o'''
f = """h"e"l'l'o"""
print(f'a = {a}',f'b = {b}',f'c = {c}',f'd = {d}',f'e = {e}')
注意:在 Python 中, 单引号构成的字符串和双引号构成的字符串, 没有区别. 'hello' 和 "hello" 是完全等价的
a. 可以使用 len 函数来获取字符串的长度
a = 'hello'
print(len(a))
b. 可以使用 + 针对两个字符串进行拼接
a = 'hello'
b = ' word'
print(a + b)
c. id 也是一个内置函数,可以通过id 查看变量的身份识别
a = 10
b = a
print(id(a))
print(id(b))
(4)布尔(bool)
布尔类型是一个特殊的类型, 取值只有两种 , True ( 真 ) 和 False ( 假 )
a = True
b = False
print(a, type(a))
print(b, type(b))
print(a + 1, b + 1)
(6)列表(list)
a = [1,2,3,4,5]
print(a)
print(a[1])
print(a[1: -1])
列表对象可变,可任意类型
(7)元组(tuple)
a = (1,2,3,4,5)
print(a)
print(a[1])
print(a[1: -1])
元组对象不可变,可以任意类型
(8)字典(dict)
类似JSON
a = {
'id': '127.0.0.1',
'port': 8080
}
print(a)
print(a['id'])
print(a['port'])
🕘三、动态类型特性
在 Python 中 , 一个变量是什么类型 , 是可以在 " 程序运行 " 过程中发生变化的 . 这个特性称为 " 动态类型 ",所以像Java就是“静态类型”
a = 1
a = 1.2
a = 'hello'
print(type(a))
- 对于中小型程序, 可以大大的解约代码量(比如写一段代码就可以同时支持多种类型)
- 对于大型程序, 则提高了模块之间的交互成本. (程序猿 A 提供的代码难以被 B 理解)
🕘四、注释
(1)注释行
# 注释这一行
(2)文档字符串
- 可以包含多行内容,
- 一般放在 文件/函数/类 的开头.
- """ 或者 ''' 均可 (等价)
"""
文档字符串
"""
'''
文档字符串
'''
🕘五、输入输出
(1)输入
a = input('请输入一个字符串:')
print(f'a = {a}')
输出
a = input('请输入一个字符串:')
print('a = {}'.format(a))
print(f'a = {a}')
输出不带换行
print(a, end='')
🕘六、运算符
(1)算数运算符
像 + - * / % ** // 这种进行算术运算的运算符, 称为 算术运算符
• / 中不能用 0 作为除数. 否则会 抛出异常
• 整数 / 整数 结果可能是小数. 而不会截断
• % 不是 "百分数", 而是求余数
• ** 是求乘方. 不光能算整数次方, 还能算小数次方
• // 是取整除法(也叫地板除). 整数除以整数, 结果还是整数(舍弃小数部分, 并向下取整. 不是四舍五入)
(2)关系运算符
• <= 是 "小于等于"
• >= 是 "大于等于"
• == 是 "等于"
• != 是 "不等于"
注意:
- 直接使用 == 或者 != 即可对字符串内容判定相等. (这一点和 C / Java 不同)
- 字符串比较大小, 规则是 "字典序"
- 对于浮点数来说, 不要使用 == 判定相等
- 浮点数在计算机中的表示并不是精确的! 在计算过程中, 就容易出现非常小的误差
(3)逻辑运算符
- and 并且. 两侧操作数均为 True, 最终结果为 True. 否则为 False. (一假则假)
- or 或者. 两侧操作数均为 False, 最终结果为 False. 否则为 True. (一真则真)
- not 逻辑取反. 操作数本身为 True, 则返回 False. 本身为 False, 则返回 True
a < b and b < c 这个操作等价于 a < b < c . 这个设定和大部分编程语言都不相同
🕘七、赋值运算符
(1)= 的使用
链式赋值
a = b = 10
多元赋值
a, b = 10, 20
(2)复合赋值运算符
Python 还有一些 复合赋值运算符 . 例如 += - = *= /= %= 其中 a += 1 等价于 a = a + 1 . 其他复合赋值运算符也是同理
注意 : 像 C++ / Java 中 , 存在 ++ -- 这样的自增 / 自减运算符 . Python 中则不支持这种运算 . 如果需要使用 , 则直接使用 += 1 或者 - = 1
除了上述之外 , Python 中还有一些运算符 , 比如 身份运算符 (is, is not), 成员运算符 (in, not in), 位运算符 ( & | ~ ^ << >>) 等
🕘八、语句
(1)if 语句
num = input('请输入你的六级成绩:')
if int(num) > 550:
print('恭喜你了,轻松拿下')
elif int(num) >= 425:
print('恭喜你了,拿下')
else:
print('加油,快再多背点单词')
代码块 指的是一组放在一起执行的代码.
在 Python 中使用缩进表示代码块 . 不同级别的缩进 , 程序的执行效果是不同的
(2)空语句pass
其中 pass 表示 空语句 , 并不会对程序的执行有任何影响 , 只是占个位置 , 保持 Python 语法格式合要求(和java的 if 语句的 { } 空代码块是一致的)
num = input('请输入数字:')
if num == '1':
pass
else:
print(f'输出{num}')
(3)while 循环
打印1到10的整数
num = 1
while num <= 10:
print(num)
num+=1
(4)for 循环
- python 的 for 和其他语言不同, 没有 "初始化语句", "循环条件判定语句", "循环变量更新语句", 而是更加简单
- 所谓的 "可迭代对象", 指的是 "内部包含多个元素, 能一个一个把元素取出来的特殊变量"
a. 打印1到10的整数
for i in range(1,11):
print(i)
b. 打印 2, 4, 6, 8, 10
for i in range(2, 12, 2):
print(i)
通过 range 的第三个参数, 可以指定迭代时候的 "步长". 也就是一次让循环变量加几
c. 打印 10-1
for i in range(10, 0, -1):
print(i)
range 的步长也可以设定成负数
d. 生成一个新的列表
# 生成一个新的列表
a = [1, 2, 3, 4, 5, 6, 7, 8]
b = [num ** 2 for num in a if num % 2 == 1]
print(b)
(5)continue
continue 表示结束这次循环 , 进入下次循环
(6)break
break 表示结束整个循环