提示:以下会基于已有C语言基础的前提下进行讲解
print("这是要打印的内容")
print("这是要打印的内容", end="")
# 也可以让结尾增加其他内容
print("这是要打印的内容", end="---")
也可以利用 print 的特性直接输出一个换行:
print()
print("")
# 这是第一行注释
# 这是第二行注释
"""
这里是多行注释
这里是多行注释
...
这里是多行注释
"""
运算符 | 含义 |
---|---|
+ | 加 |
- | 减 |
* | 乘 |
/ | 除 |
// | 取整除 |
% | 取余 |
** | 幂 |
优先级 | 运算符 |
---|---|
最高 | ** |
中 | *、/、%、// |
最低 | +、- |
一般命名法:
驼峰命名法:
(1)小驼峰式命名法:
(2)大驼峰式命名法:
(注:一般命名法会使用得更为普遍)
student_number = "20201111"
student_name = "张三"
print(student_number)
print(student_name, student_number)
可以在PyCharm的调试器中查看数据类型,或者使用 type() 函数:这里输出的是 bool
student_boy = True
print(type(student_boy))
在C语言中不常用的布尔类型bool定义:
# 定义两个布尔类型,在C语言中不常用
student_boy = True
student_girl = False
利用变量运算的举例:
row = 10
col = 30
acreage = row * col
print(acreage)
data = input("提示信息")
data1 = input("请输入第一个的数据:")
data2 = input("请输入第二个的数据:")
age = input("请输入您的年龄:")
score = input("请输入您的成绩:")
# 将输入的字符串类型转换成所需要的类型
int(age)
float(score)
print(age)
print(score)
实际上要这样一个个地转换数据类型极其不方便,下面给出嵌套变更的方法:
age = int(input("请输入您的年龄:"))
score = float(input("请输入您的成绩:"))
print(age)
print(score)
格式化字符 | 含义 |
---|---|
%s | 字符串 |
%d | 有符号十进制整型,%06d 表示输出的整型显示位数,不足位数用0补齐,右侧对齐 |
%d | 有符号十进制整型,%6d 表示输出的整型显示位数,不足位数用空格补齐,右侧对齐 |
%f | 浮点数,%.2f 表示小数点后只显示两位 |
%% | 输出%符号 |
输出语法格式如下:
print(“输出信息+格式化字符” % 变量)
格式化输出一个变量时
print(“输出信息+格式化字符” % (变量1, 变量2, …, 变量N))
格式化输出多个变量时
name = "张三"
print("我的名字是 %s" % name)
# 输出多个格式化字符时
name = "李红"
number = 20201111
score = 90.99
print("我的名字是 %s ,我的学号是 %08d ,我的成绩是 %.2f" % (name, number, score))
提示:
输入:
GPA = 3.95
print("您的加权平均分为 %.02f" % (GPA * 10 + 50))
输出:
您的加权平均分为 89.50
若输入:
GPA = 3.95
print(" %.02f" % GPA * 10)
则输出:10次GPA
3.953.953.953.953.953.953.953.953.953.95
例:导入 keyword 库,其中的 keword.kwlist 可以查看 Python 自带的所有关键字
import keyword
print(keyword.kwlist)
补充:在工程目录下,我们会看到一个叫 _ pycache_ 的文件:
比较运算符 | 含义 |
---|---|
== | 检查是否相等,是返回True |
!= | 检查是否不等,是返回True |
> | 检查是否大于,是返回True |
>= | 检查是否大于或大于,是返回True |
< | 检查是否小于,是返回True |
<= | 检查是否小于或等于,是返回True |
逻辑运算符 | 含义 |
---|---|
and | 与 |
or | 或 |
not | 非 |
例:
if x > 10 and x < 100:
print("10 < x < 100")
else:
print("x < 10 或 x > 100")
例:
is_employee = True
if not is_employee:
print("您不是公司的员工,请勿入内")
else:
print("您是公司的员工,欢迎您")
income = int(input("请输入您的收入:"))
if income >= 10000:
print("月入过万了,不错")
house = int(input("您有几套房?"))
if house >= 1:
print("不错,房子也有了")
else:
print("没有房子,继续努力")
else:
print("您月入没过万,要加油才行啊")
例:
score = float(input("请输入您的考试成绩:"))
score = score // 10
if score < 6:
print("您的成绩不及格")
elif score == 6 or score == 7:
print("您的成绩及格了")
elif score == 8:
print("您的成绩良好")
else:
print("您的成绩优秀")
需求:
# 导入随机数的库
import random
# 计算机获取随机数
computer = random.randint(1, 3)
player = int(input("请输入您的出拳类型:1—石头,2-剪刀,3-布:"))
if ((player == 1 and computer == 2)
or (player == 2 and computer == 3)
or (player == 3 and computer == 1)):
print("您出的是: %d,计算机出的是: %d,您获胜了" % (player, computer))
elif player == computer:
print("您出的是: %d,计算机出的是:%d,你们打成了平局" % (player, computer))
else:
print("您出的是: %d,计算机出的是:%d,您输了" % (player, computer))
(1)首先按如下格式把条件全部写好,最大的括号是为了能够换行表示
if ((player == 1 and computer == 2) or (player == 2 and computer == 3) or (player == 3 and computer == 1)):
(2)然后分别在每一个or前面(空格后面)回车,PyCharm会自动格式缩进(Tab = 2),实际上缩进(Tab = 1)也符合Python的代码格式,但为了不与 if 的执行语句并列,保留较好阅读性,从而进行 Tab = 2 的缩进
if ((player == 1 and computer == 2)
or (player == 2 and computer == 3)
or (player == 3 and computer == 1)):
运算符 | 含义 |
---|---|
a = b | 把b的值赋给a |
a += b | a = a + b |
a -= b | a = a - b |
a *= b | a = a * b |
a /= b | a = a / b |
a //= b | a = a // b |
a %= b | a = a % b |
a **= b | a = a ** b |
计数习惯:
# 定义计数器的初始值
i = 0
result = 0
while i <= 100:
# 列写满足条件时要执行的代码
if i % 2 == 0:
print(" i 是一个偶数")
result += i
# 处理计数器
i += 1
print(i) # 输出的 i 值仍然保留
print("0~100中偶数项的和为: %d" % result)
死循环:
while True:
while 1:
break 与 continue 的用法和C语言的完全一致:
break
continue
循环嵌套逻辑与格式如图所示:
例:要求使用循环嵌套输出下面图像
# 初始化计数器
row = 1
while row < 10:
#初始化计数器
col = 1
while col <= row:
print("*", end="")
col += 1
print("")
row += 1
需求:
# 初始化计数器数值
row = 1
while row < 10:
# 初始化计数器数值
col = 1
while col < row:
print("%d×%d=%d, " % (row, col, row * col), end="")
col += 1
print("%d×%d=%d" % (row, col, row * col))
row += 1
# 初始化计数器数值
row = 1
while row < 10:
# 初始化计数器数值
col = 1
while col < row:
print("%d×%d=%d, " % (col, row, col * row), end="")
col += 1
print("%d×%d=%d" % (col, row, col * row))
row += 1
针对上述转移字符进行介绍:
转义字符 | 含义 |
---|---|
\ \ (中间不含空格) | 反斜杠符号 |
\ ’ (中间不含空格) | 单引号 |
\ " (中间不含空格) | 双引号 |
\n | 换行 |
\t | 制表 |
\r | 回车 |
假设这个函数定义在的 .py 文件名为 function_file.py
def function_name():
"""定义一个函数"""
print("Hello Python")
#调用该函数
function_name()
函数定义逻辑与格式如图所示(def 指的是 define):
即可在当前的 .py 文件下定义一个函数
注:
函数调用的基本方法:
import function_file
function_file.function_name()
def summation(num1, num2):
"""定义一个函数"""
result = num1 + num2
return result
print("输出结果是: %d" % summation(10, 20))
例:检验 0 ~ 100 之间含有几个偶数(0是偶数)
def function(number):
"""递归调用函数,检验 0 ~ number 中含有几个偶数"""
i = 0
if number == 0:
return i + 1
else:
if number % 2 == 0:
return function(number - 1) + 1
else:
return function(number - 1)
print("0 ~ number 中含义 %d 个偶数" % function(100))
例:打印由可选字符、可选长度、可选行数组成的分割线(不能使用while)
def print_line(string, len, row):
"""
打印由可选字符、可选长度、可选行数组成的分割线
:param string: 分割线的组成字符或字符串
:param len: string的重复次数
:param row: 分割线的行数
"""
if row == 0:
return
else:
print("%s" % string * len)
return print_line(str, len, row - 1)
print_line("H ", 10, 4)
在 def 下方写上三对双引号 “”" “”" 后,在三对双引号中间按下回车,即可自动生成函数注释文档,如图所示:
如上述递归调用例子中的注释:
注:对函数的注释与对参数的注释之间间隔一个空行