一、print函数
输出到控制台,输出的数据类型可以是字符串、数字、表达式等等。
print('hello world')
print(10)
print(3 + 1)
# 输出不换号
print("h", end="")
# 输出多份内容到同一行
print("h", 1, "d")
二、字面量
被写在代码中的固定的值。字面量类型有:数字(长整型、浮点型、布尔型、复数)、字符串、列表、元组、集合、字典
print(666)
print(13.12)
print("hello")
三、注释
在代码中对程序代码进行解释说明的文字,不能被执行,只是帮助我们理解代码,增强可读性。
# 单行注释
"""
多行注释:一般对代码文件、类、方法进行解释
"""
四、变量
在程序运行时,能存储计算结果或能表示值的抽象概念。每个变量 在使用前都必须赋值,变量 赋值以后 该变量 才会被创建。
定义格式:变量名 = 变量值
name = "jack"
print("我的名字是", name)
age = 18
# 变量的值可以改变
age = age + 1
print(age)
五、数据类型
变量是没类型的,但是变量中存储的数据是有类型的,Python中定义了六个标准数据类型:
Number(数字)、String(字符串)、Tuple(元组)、List(列表)、Dictionary(字典)、Set(集合)。
# 这里先学几个基本的类型:长整型、浮点型、布尔型、字符串
money = 100
# <class 'int'>
int_type = type(money)
print(int_type)
# <class 'str'>
print(type("money"))
# <class 'bool'>
print(type(True))
print(type(False))
# <class 'float'>
print(type(1.2))
六、数据类型之间的转换
这里主要讲长整型、浮点型和字符串之间的转换。
# 其他类型转成字符串 str(x) 任何类型都可以转换成字符串
str_num = str(11)
print(type(str_num), str_num) # <class 'str'> 11
# 字符串转int或float,注意这里字符串必须是数字,不然会报错
int_num = int("11")
print(type(int_num), int_num) # <class 'int'> 11
float_num = float("1.23")
print(type(float_num), float_num) # <class 'float'> 1.23
# 浮点型转整数会丢失精度
int_nu = int(1.23)
print(type(int_nu), int_nu) # <class 'int'> 1
七、标识符
在编程过程中用于给变量、类、方法等命名。
标识符命名规则 ① 内容限定:只允许出现英文、中文、数字、下划线,其他任何内容不被允许,这里不推荐使用中文标识符,数字不可以开头 ② 大小写敏感 ③ 不可以使用关键字,如class、and、else等。
标识符命名规范
目前只接触了变量,所以这里变量的命名规范:① 见名知意 ② 多个单词使用下划线命名法 ③ 英文字母全小写
name = "amy"
my_name = "jack"
八、运算符
1. 算数运算符
print(10 + 20) # 加
print(20 - 10) # 减
print(10 * 20) # 乘
print(10 / 20) # 除 0.5
print(9 // 2) # 取整数 4
print(9 % 2) # 取余数 1
print(2 ** 3) # 幂 8
# 在Python中 * 运算符还可以用于字符串,计算结果就是字符串重复指定次数的结果
print("❤" * 10) # ❤❤❤❤❤❤❤❤❤❤
# 算数运算符的优先级
# 先乘除后加减,同级运算符从左到右,可以使用()调整计算的优先级,从高到低依次为:**(最高) * / % //(第二高) + -(最低)
print(2 + 3 * 5)
print((2 + 3) * 5)
print(2 * 3 + 5)
2. 赋值运算符
'''
= 简单的赋值运算符 c = a + b 将 a + b 的运算结果赋值为 c
+= 加法赋值运算符 c += a 等效于 c = c + a
-= 减法赋值运算符 c -= a 等效于 c = c - a
*= 乘法赋值运算符 c *= a 等效于 c = c * a
/= 除法赋值运算符 c /= a 等效于 c = c / a
//= 取整除赋值运算符 c //= a 等效于 c = c // a
%= 取 模 (余数)赋值运算符 c %= a 等效于 c = c % a
**= 幂赋值运算符 c **= a 等效于 c = c ** a
'''
# = 把等号右边的结果赋值给左边的变量
number = 10
# 复合赋值运算符 += -= *= /= %= **= //=
# number = number + 1
number += 1
number *= 2
number -= 1
number /= 1
number %= 2
number **= 2
number //= 2
print(number)
3. 比较(关系)运算符
# == 检查两个操作数的值是否 相等,如果是,则条件成立,返回 True
print(1 == 1)
# != 检查两个操作数的值是否 不相等,如果是,则条件成立,返回 True
print(1 != 1)
# > 检查左操作数的值是否 大于 右操作数的值,如果是,则条件成立,返回 True
print(1 > 1)
# < 检查左操作数的值是否 小于 右操作数的值,如果是,则条件成立,返回 True
print(1 < 1)
# >= 检查左操作数的值是否 大于或等于 右操作数的值,如果是,则条件成立,返回 True
print(1 >= 1)
# <= 检查左操作数的值是否 小于或等于 右操作数的值,如果是,则条件成立,返回 True
print(1 <= 1)
4. 逻辑运算符
"""
运算符and 逻辑表达式(x and y) 只有 x 和 y 的值都为 True,才会返回 True<br />否则只要 x 或者 y 有一个值为 False,就返回 False
运算符or 逻辑表达式(x or y) 只要 x 或者 y 有一个值为 True,就返回 True<br />只有 x 和 y 的值都为 False,才会返回 False
运算符not 逻辑表达式(not x) 如果 x 为 True,返回 False<br />如果 x 为 False,返回 True
"""
print((2 > 1) and (1 > 0))
print((2 > 10) or (1 > 0))
print(not 1 != 1)
5. 运算符的优先级
以下表格的算数优先级由高到最低顺序排列
运算符 | 描述 |
---|---|
** | 幂 (最高优先级) |
* / % // | 乘、除、取余数、取整除 |
+ - | 加法、减法 |
<= < > >= | 比较运算符 |
== != | 等于运算符 |
= %= /= //= -= += *= **= | 赋值运算符 |
not or and | 逻辑运算符 |
九、字符串
1. 字符串定义
# 字符串的三种定义方式 单引号、双引号、三引号
string = 'str'
string = "apple"
string = """banana"""
# 字符串内如果包含单引号或者双引号如何处理
car = '"你好"'
print(car)
car = "'hello'"
print(car)
# \ 进行转义
car = "\"hello\""
2. 字符串的拼接
可以用+
对字符串和字符串之间进行拼接。无法和非字符串类型进行拼接
print("jack" + "love")
# print("jack" + 1) 会报错
我们还可以使用字符串占位符进行拼接,这样就可以和其它类型进行拼接
# 字符串格式化 % 被称为格式化操作符
# %s s表示将变量变成字符串放入占位的地方
print("你%s好" % 999)
# 多个字符串占位符,这里是将整数型变量的转换成字符串类型变量,然后拼接进去
print("你好%s你好%s" % (1, 100))
j = "xxxx"
year = 2023
price = 12.99
# xxxx, 成立于2023, 今天的价格是12.990000
print("%s, 成立于%d, 今天的价格是%f" % (j, year, price))
# 快速格式化, 不用注意类型,也不需要做精度控制
# xxxx, 成立于2023, 今天的价格是12.99
print(f"{j}, 成立于{year}, 今天的价格是{price}")
3. 制表符
# \t 在控制台输出一个 制表符,协助在输出文本时 垂直方向 保持对齐
print("香蕉\t苹果") # 香蕉 苹果
# \n 在控制台输出一个 换行符
print("hello\nworld")
# \\ 反斜杠符号
print("\\d") # \d
# \' 单引号
print("\'d") # 'd
# \'' 双引号
print("\''d") # ''d
# \r 回车
print("hell\rwal") # wal
十、格式化输出
输出文字信息的同时,一起输出 数据,就需要使用到 格式化操作符
% 被称为 格式化操作符,专门用于处理字符串中的格式;包含 % 的字符串,被称为 格式化字符串;% 和不同的 字符 连用,不同类型的数据 需要使用 不同的格式化字符
- %s:字符串
- %d:有符号十进制整数,%06d 表示输出的整数显示位数,不足的地方使用 0 补全
- %f:浮点数,%.2f 表示小数点后只显示两位
- %%:输出百分号%
格式:
print(“格式化占位符” % 变量1)
print(“多个格式化占位符” % (变量1, 变量2…))
# 字符串占位符 %s
name = "小明"
print("我的名字叫 %s,请多多关照!" % name)
# 整数 %d
student_no = 1
print("我的学号是 %d" % student_no)
# 浮点型 %f
price = 10.5
weight = 3.5
money = price * weight
print("苹果单价 %.02f 元/斤,购买 %.02f 斤,需要支付 %.02f 元" % (price, weight, money))
# 对表达式进行格式化
scale = 0.1
print("数据比例是 %.02f%%" % (scale * 100))
精度控制
# 精度控制语法 m.n控制数据的宽度和精度 如 %5.2f %5d %.3f
# m 控制宽度,要求是数字,如果设置的宽度小于数字自身,则不生效
# n 控制小数点的精度,要求是数字,会进行小数的四舍五入
int_num = 10
flo_num = 39.2345
# 如果宽度不足,默认用空格补全,也可以指定用0补齐 m前面加0即可
print("精度控制语法%05d" % int_num) # 精度控制语法00010
print("精度控制语法%5d" % int_num) # 精度控制语法 10
print("精度控制语法%1d" % int_num) # 精度控制语法10
print("精度控制语法%7.2f" % flo_num) # 精度控制语法 39.23
print("精度控制语法%.7f" % flo_num) # 精度控制语法39.2345000
十一、 input函数
输入数据,input()可以从键盘获取输入
get = input()
print(f"哈哈哈{get}")
# 带提示信息的input()
you = input("请输入信息:")
print(f"你好{you}")
# input()获得的数据都是字符串类型
# 练习
user_name = input("请输入用户名:")
user_type = input("请输入用户类型:")
print(f"您好:{user_name}, 您是尊贵的:{user_type} 用户,欢迎您的光临。")
十二、 判断语句
# 单分支判断语句,注意冒号不要漏,执行语句块是通过缩进控制的(4个空格)
num = 10
if num > 5:
print("条件成立,执行语句")
# 双分支判断语句 if else
if num > 100:
print("run...")
else:
print("walk...")
# 多分支判断语句
if num < 0:
print("负数")
elif num == 0:
print("零")
elif num > 0:
print("正数")
else:
print("other...")
# 判断语句的嵌套 通过空格缩进决定层次关系
height = 170
weight = 60
if height > 160:
print("第一次if")
if weight > 50:
print("体重大于50KG")
else:
print("体重小于等于50KG")
else:
print("身高小于160cm")
print("end")
十三、获取随机数
import random
random.randint(12, 20) # 生成的随机数n: 12 <= n <= 20
random.randint(20, 20) # 结果永远是 20
# random.randint(20, 10) # 该语句是错误的,下限必须小于上限
十四、range函数
range() 返回一个数字序列。
# range(number) 获取一个数字序列
# 0 1 2 3 4 从0开始,不包含5
for x in range(5):
print(x, end=" ")
print("")
# 5 6 7 8 9 5-10之间,不包含10
for x in range(5,10):
print(x, end=" ")
print("")
# 5 7 9 11 13 5-15之间,步长是2,不包含15
for x in range(5, 15, 2):
print(x, end=" ")
print("")
十五、循环语句
1. while 循环
# 单层循环
i = 1
while i <= 5:
print(f"hello {i}")
i = i + 1
print("循环结束 i = %d" % i)
# 死循环
# while True:
# print("dead")
# 嵌套循环
row = 1
while row <= 5:
col = 1
while col <= row:
print("*", end="")
col += 1
print("")
row += 1
# 九九乘法表
row = 1
while row < 10:
col = 1
while col <= row:
print(f"{col}*{row}={col*row}\t", end="")
col += 1
print("")
row += 1
2. for 循环
"""
循环语句
for 临时变量 in 待处理数据集(序列类型):
循环体
序列类型有:字符串、列表、元组等
"""
# for 循环
name = "djkasjdfkjflas"
# x是临时变量
for x in name:
print(x, end=" ")
print("")
"""
临时变量作用域
限定在循环内 但是这种限定是在编程规范上,非强制限定,不遵守也能执行,但不建议。
如果要访问临时变量,可以预先在循环外定义
"""
print(x)
# for循环嵌套
for x in range(1, 101):
print(f"表白{x}次")
for y in range(10):
print(f"送花{y}朵")
# 九九乘法表
for i in range(1, 10):
for j in range(1, i+1):
print(f"{j}*{i}={i*j}\t", end="")
print("")
3. continue 和 break
# continue:中断所在循环的当次执行,直接进入下一次
i = 0
while i < 10:
if i == 7:
i += 1
continue
print(i)
i += 1
# break:直接结束所在循环
i = 0
while i < 10:
if i == 3:
break
print(i)
i += 1
print("over")