Python 基础语法
1.标准化输入输出
input()
msg = input()
msg = input("提示信息")
# input() 的接收结果都是str类型,必要的时候需要做些类型转换
print("字符串" + "拼接")
print("字符串", "拼接")
print("字符串%s%s" %("拼","接"))
print("字符串拼接", end="")
# msg = "123"
# 模拟用户输入信息
# print("请输入信息: ")
# 标准化输入
# 可以有转义字符
# 录入的信息均以字符串形式反馈出来
msg = input("请输入信息: \n")
print(type(msg))
# 标准化输出
# 以字符串拼接方式打印
print("用户输入的信息为: " + msg)
# 以多个数据方式打印
print("用户输入的信息为:", msg)
# 以占位符方式打印
# %s 可以对所有类型进行占位
# %d 对int进行占位
# %f 对float进行占位
# %x 对16进制进行占位
print("用户%d输入的信息为: %s" %(1, msg)) # 多个数据的占位
运行
请输入信息:
fsdfh
<class 'str'>
用户输入的信息为: fsdfh
用户输入的信息为: fsdfh
用户1输入的信息为: fsdfh
2.三大结构
共有三种结构: ①分支结构 ②循环结构 ③顺序结构
代码执行顺序自上而下
通过条件判断选择不同的分支
if 条件:
if的逻辑体
elif 条件:
elif的逻辑体
else:
else的逻辑体
# else分支可以根据需求省略
# elif分支数取值范围[0, n]
# if结构可以嵌套
if 下雨:
if 大雨:
p(雨衣)
else:
p(雨伞)
else:
p(不带伞)
if分支
# weather = input("今天天气怎么样: ")
# 如果下雨就带伞, 否则不用管
# if 条件:
# 逻辑语句(通过缩进决定附属关系)
# if weather == "下雨":
# print("带伞...")
# print("上学去...")
# 成绩60及以上,代表通过,否则不通过
grade = input("考试成绩: ")
grade = int(grade)
# if grade >= 60:
# print("通过")
# else:
# print("不通过")
# 90以上优秀 70以上良好 60以上及格 60以下不及格
if grade >= 90:
print("优秀")
elif 70 <= grade < 90:
print("良好")
elif grade >= 60:
print("及格")
else:
print("不及格")
# 如果不需要考虑所有条件分支的对立面,else分支可以省略
运行
考试成绩: 89
良好
当条件满足,重复执行逻辑代码
while 条件:
循环体
else:
循环正常结束逻辑
# 循环一般都要设置出口
# else分支可以省略,不省略时,在循环正常结束后被执行
# continue关键词可以结束循环中的一次循环,进入下一次循环
# break关键词可以结束所有循环(之后所有的循环次数不再被执行)
# else分支其实就是在循环被break结束才不会被调用
while 循环
# 打印1-100间所有包含7,可以被7整除的数
# [1, 100]
# while 条件:
# 循环体
# 定义循环变量
num = 1 # 一次增加1 ,最终增加到100足矣
while num < 100:
# 个位为7, 十位为7, 7的倍数
# 逻辑运算符 or
# num % 10 == 7 or 7 <= num / 10 < 8 or num % 7 == 0
if num % 10 == 7 or 7 <= num / 10 < 8 or num % 7 == 0:
print(num, end=" ") # 以空格分隔输出
# 循环执行一次,循环变量要增加1
num += 1 # num = num + 1
# 单独打印一个换行
print()
# break continue
# Ranga dsb 五遍
count = 0
while count < 5:
print("Ranga dsb")
count += 1
else:
# 循环正常结束,就执行else分支
print("耶!")
count = 0
while count < 5:
count += 1
if count == 3:
# 结束本次循环, 进入下一次循环
continue
print("Ranga dsb")
else:
print("耶!")
count = 0
while count < 5:
count += 1
if count == 3:
# 结束本层循环
break
print("Ranga dsb")
else:
# 循环被break终止(非正常退出,没有循环完毕),else分支不会被执行
print("耶!")
运行结果
7 14 17 21 27 28 35 37 42 47 49 56 57 63 67 70 71 72 73 74 75 76 77 78 79 84 87 91 97 98
Ranga dsb
Ranga dsb
Ranga dsb
Ranga dsb
Ranga dsb
耶!
Ranga dsb
Ranga dsb
Ranga dsb
Ranga dsb
耶!
Ranga dsb
Ranga dsb
3.函数
def 函数名(参数列表)
函数体
# 什么是函数
# 完成一件事,往往需要大量的步骤,将这些步骤汇总形成一个整体,对外提供一个访问名称,可以称之为 完成这件事的工具(方法)
# 而函数的概念就类似于工具(方法)的概念, 函数名就是工具(方法)名
# def 是定义函数的关键词
# 函数通过 函数名(参数列表) 来调用函数
# 调用一次函数就会把函数体执行一遍(完成了一次功能)
# 无参函数
def fn1():
功能体
# 有参函数
def fn2(a, b ,c):
功能体
# 空函数
def fn3():
pass
# 一个参数
def fn1(a):
print("一个参数:", a)
# 调用传入: 实参
fn1(8888)
# 形参是实参的值拷贝
# 多个参数时,调用的实参数要和形参数相等,且一一对应
def fn2(a, b):
print("多个参数:", a, b)
def fn2(10, 20)
# 默认
def fn3(a, b=10):
print("默认参数:", b)
# 传入对应的值,默认参数就是传入的值
fn3(100, 200)
# 没有默认参数进行传值,默认参数采用默认值
fn3(100)
空返回值
一个返回值
多分支返回值
多个返回值
# 所有函数均有返回值
# 用return关键词明确返回值
# 没有明确返回值的函数的返回值为None
# 返回值可以为一个或多个
# 返回操作可以根据函数内分支结构出现多个返回操作
# 返回操作return就是用来结束函数的,所以出现在返回操作之后的代码永远不会被执行
# 需求: 求两个数的和
# 1. 得到第一个数
# 2. 得到第二个数
# 3. 求得两个数的和
# 4. 打印数的和
# 求两个数之和的功能 => 定义一个数两个数的工具 => 给工具起个名 => 通过名字,就可以完成一次该功能
n1 = int(input("请输入第一个数:"))
n2 = int(input("请输入第二个数:"))
res = n1 + n2
print("%d与%d的和是%d" %(n1, n2, res))
# 再求一次
# 函数的语法定义
# def 函数名(参数列表):
# 函数体
def sum():
n1 = int(input("请输入第一个数:"))
n2 = int(input("请输入第二个数:"))
res = n1 + n2
print("%d与%d的和是%d" %(n1, n2, res))
# 如何使用功能(函数) => 通过函数名(参数列表)
# sum()
# 再来一次
# sum()
# 为什么使用函数
# 函数可以复用,提高开发效率
# 函数的分类
# 1.无参函数
def fn1():
print("我是无参函数")
fn1()
# 2.有参函数
def fn2(msg):
print("我是有参函数,参数是: %s" % msg)
fn2("今天天气真好")
# 空函数
def fn3(msg):
pass
fn3("abc")
# 空函数,根据需求定义函数,该有参数还是有参数,只不过该函数功能体还未明确,用pass填充
# 函数的参数
# a 用来接收外界传入的实际的数,该变量并不实际拥有值
def func(a):
print(a)
# num 为实际存放值得变量(实际存在的数)
num = 100
func(num)
# 实际拥有值得数: num,称之为实参
# 接收实际值得数: a, 称之为形参
# 形参就是对实参的值拷贝
def func1(a, b):
print(a, b)
func1(10, 20)
# 实参与形参个数需要一致,且一一对应
def func2(a, b=888):
print(a, b)
func2(1000, 2000)
func2(1000)
# 形参b在规定的时候,赋了初值,称之为默认(值)形参
# 注: 默认形参要出现在非默认形参之后
# 函数的返回值: 就是功能完成后对外界的反馈
# python中所有函数都有返回值
def f():
pass
res = f()
print(res)
# 当没有明确函数返回值,函数返回值为None
# 用return 关键词明确函数返回值
def f1():
# ...
return 8888
res = f1()
print(res)
def f1(a):
if a >=60:
return "及格"
return "不及格"
print("存在return之下的语句永远不会被执行到")
res = f1(80)
print(res)
# return可以结束函数
def f2():
return 666, 888
# 多个返回值
# 一次性接收,以元组方式
res = f2()
print(res)
# 逐一接收,采用解压赋值方式
a, b = f2()
print(a, b)
运行结果
请输入第一个数:45
请输入第二个数:88
45与88的和是133
我是无参函数
我是有参函数,参数是: 今天天气真好
100
10 20
1000 2000
1000 888
None
8888
及格
(666, 888)
666 888