Python学习小记2

目录

一、判断(if)语句

1.1 if判断语句语法

1.2 if else

1.3 if-elif语句

 示例:

1.4 if嵌套 

1.5逻辑运算

1.5.1 and

1.5.2 or

1.5.3 not

示例:

1.6 随机数的处理

1.7 示例:石头剪刀布

二、循环

2.1 while 循环

2.2 赋值运算符

2.3 break 和 continue

2.3.1 break

2.3.2 continue

三、循环嵌套

3.1 while循环嵌套

3.2 字符串中的转义字符

四、函数

4.1 函数的定义

4.2 函数的调用

4.2.1 PyCharm 的调试工具

4.2.2 函数的文档注释

4.3 函数的参数

4.3.1 形参和实参

4.3.2 函数的返回值


一、判断(if)语句

1.1 if判断语句语法

if 条件表达式:
    条件成立时,要做的事情
    ……
注:条件表达式后的:

注意:代码的缩进为一个 tab 键,或者 4 个空格 —— 建议使用空格

  • 在 Python 开发中,Tab 和空格不要混用!

1.2 if else

if 条件表达式:
    条件成立时,要做的事情
    ……
else:
    条件不成立时,要做的事情
    ……
注意:

if 和 else 语句以及各自的缩进部分共同是一个 完整的代码块

 

运行结果如下图所示:

age = int(input("年龄为:"))
if age>=18:
    print("可以进入")
else:
    print("不可以进入")

1.3 if-elif语句

  • 语法格式如下:
if 条件1:
    条件1满足执行的代码
    ……
elif 条件2:
    条件2满足时,执行的代码
    ……
elif 条件3:
    条件3满足时,执行的代码
    ……
else:
    以上条件都不满足时,执行的代码
    ……

注意

  1. elif 和 else 都必须和 if 联合使用,而不能单独使用
  2. 可以将 ifelif 和 else 以及各自缩进的代码,看成一个 完整的代码块

 示例:

day=input("节日是:")
if day=="情人节":
    print("情人节快乐!")
elif day=="平安夜":
    print("平安夜快乐!")
elif day=="圣诞节":
    print("圣诞节快乐!")
else:
    print("everyday is happy")

运行截图如下: 

1.4 if嵌套 

  • 语法格式如下:
if 条件 1:
    条件 1 满足执行的代码
    ……
    
    if 条件 1 基础上的条件 2:
        条件 2 满足时,执行的代码
        ……    
        
    # 条件 2 不满足的处理
    else:
        条件 2 不满足时,执行的代码
        
# 条件 1 不满足的处理
else:
    条件1 不满足时,执行的代码
    ……

1.5逻辑运算

  • Python 中的 逻辑运算符 包括:与 and或 or非 not 三种

1.5.1 and

条件1 and 条件2

  • 两个条件同时满足,返回 True
  • 只要有一个不满足,就返回 False

1.5.2 or

条件1 or 条件2

  • 两个条件只要有一个满足,返回 True
  • 两个条件都不满足,返回 False

1.5.3 not

not 条件

  • 通常希望某个体哦阿健不满足时执行程序,可以使用not
  • 如果需要拼接复杂的逻辑计算条件,同样可以使用not

示例:

"""
要求年龄在0-120之间
age >=0 age<=120
"""
age = 199
if age >= 0 and age <= 120:
    print("年龄符合要求")
else:
    print("年龄不符合要求")

1.6 随机数的处理

  • 在 Python 中,要使用随机数,首先需要导入 随机数 的 模块 —— “工具包”
   import random
  • 导入模块后,可以直接在 模块名称 后面敲一个 . 然后按 Tab 键,会提示该模块中包含的所有函数

  • random.randint(a, b) ,返回 [a, b] 之间的整数,包含 a 和 b

例如:

  • random.randint(12, 20) # 生成的随机数n: 12 <= n <= 20
  • random.randint(20, 20) # 结果永远是 20
  • random.randint(20, 10) # 该语句是错误的,下限必须小于上限

1.7 示例:石头剪刀布

#导入随机工具包
import random
#输入玩家要出的拳:石头(1)剪刀(2)布(3)
player=int(input("出拳:"))
#电脑随机出拳
cpt=random.randint(1,3)
print("玩家出拳为:%d - 电脑出拳为:%d"%(player,cpt))
if (player==1 and cpt==2) \
        or (player==2 and cpt==3) \
        or (player==3 and cpt==1):
    print("玩家赢")
elif (player==cpt):
    print("平局")
else:
    print("玩家输")

 

二、循环

2.1 while 循环

  • while 循环最常用的应用场景就是 让执行的代码 按照 指定的次数 重复 执行
初始条件设置 —— 通常是重复执行的 计数器

while 条件(判断 计数器 是否达到 目标次数):
    条件满足时,做的事情1
    条件满足时,做的事情2
    条件满足时,做的事情3
    ...(省略)...
    
    处理条件(计数器 + 1)

注意

  • while 语句以及缩进部分是一个 完整的代码块

2.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

2.3 break 和 continue

break 和 continue 是专门在循环中使用的关键字

  • break 某一条件满足时,退出循环,不再执行后续重复的代码
  • continue 某一条件满足时,不执行后续重复的代码

break 和 continue 只针对 当前所在循环 有效

2.3.1 break

  • 在循环过程中,如果 某一个条件满足后 再希望 循环继续执行,可以使用 break 退出循环
i = 0
while i < 10:
    # break 某一条件满足时,退出循环,不再执行后续重复的代码
    # i == 3
    if i == 3:
        break
    print(i)
    i += 1
print("over")

2.3.2 continue

  • 在循环过程中,如果 某一个条件满足后 希望 执行循环代码,但是又不希望退出循环,可以使用 continue,跳转到条件判断语句。
  • 即在整个循环中,只有某些条件,不需要执行循环代码,而其他条件都需要执行
i = 0
while i < 10:
    # 当 i == 7 时,不希望执行需要重复执行的代码
    if i == 7:
        # 在使用 continue 之前,同样应该修改计数器
        # 否则会出现死循环
        i += 1
        continue
    # 重复执行的代码
    print(i)
    i += 1
  • 需要注意:使用 continue 时,条件处理部分的代码,需要特别注意,不小心会出现 死循环

continue 只针对当前所在循环有效

三、循环嵌套

3.1 while循环嵌套

while 条件 1:
    条件满足时,做的事情1
    条件满足时,做的事情2
    条件满足时,做的事情3
    ...(省略)...
    
    while 条件 2:
        条件满足时,做的事情1
        条件满足时,做的事情2
        条件满足时,做的事情3
        ...(省略)...
    
        处理条件 2
    
    处理条件 1

注:

  • 在默认情况下,print 函数输出内容之后,会自动在内容末尾增加换行

  • 如果不希望末尾增加换行,可以在 print 函数输出内容的后面增加 , end=""

  • 其中 "" 中间可以指定 print 函数输出内容之后,继续希望显示的内容

  • 语法格式如下:

# 向控制台输出内容结束之后,不会换行
print("*", end="")
# 单纯的换行
print("")
end="" 表示向控制台输出内容结束之后,不会换行

3.2 字符串中的转义字符

  • \t 在控制台输出一个 制表符,协助在输出文本时 垂直方向 保持对齐
  • \n 在控制台输出一个 换行符

制表符 的功能是在不使用表格的情况下在 垂直方向 按列对齐文本

转义字符描述
\\反斜杠符号
\'单引号
\"双引号
\n换行
\t横向制表符
\r回车

 

 

 

 

 

 

 

 

四、函数

  • 所谓函数,就是把 具有独立功能的代码块 组织为一个小模块,在需要的时候 调用
  • 函数的使用包含两个步骤:
    1. 定义函数 —— 封装 独立的功能
    2. 调用函数 —— 享受 封装 的成果
  • 函数的作用,在开发程序时,使用函数可以提高编写的效率以及代码的 重用

4.1 函数的定义

def 函数名(): 
    函数封装的代码 
    ……

注:

  1. def 是英文 define 的缩写
  2. 函数名称 应该能够表达 函数封装代码 的功能,方便后续的调用
  3. 函数名称 的命名应该 符合 标识符的命名规则
  • 可以由 字母下划线 和 数字 组成
  • 不能以数字开头
  • 不能与关键字重名

4.2 函数的调用

  • 调用函数,通过 函数名() 即可完成对函数的调用
def multiple_table():

    i = 1
    while i <= 9:
        j = 1
        while j <= i:
            print("%d * %d =%d " % (j, i, i * j), end="\t")
            j += 1
        print("")
        i += 1
multiple_table()

运行截图: 

思考

  • 能否将 函数调用 放在 函数定义 的上方?

    • 不能!
    • 因为在 使用函数名 调用函数之前,必须要保证 Python 已经知道函数的存在
    • 否则控制台会提示 NameError: name 'multiple_table' is not defined (名称错误:multiple_table 这个名字没有被定义)

4.2.1 PyCharm 的调试工具

  • F8 Step Over 可以单步执行代码,会把函数调用看作是一行代码直接执行
  • F7 Step Into 可以单步执行代码,如果是函数,会进入函数内部

4.2.2 函数的文档注释

  • 在开发中,如果希望给函数添加注释,应该在 定义函数 的下方,使用 连续的三对引号
  • 在 连续的三对引号 之间编写对函数的说明文字
  • 在 函数调用 位置,使用快捷键 CTRL + Q 可以查看函数的说明信息

注意:因为 函数体相对比较独立函数定义的上方,应该和其他代码(包括注释)保留 两个空行

4.3 函数的参数

  • 函数,把 具有独立功能的代码块 组织为一个小模块,在需要的时候 调用
  • 函数的参数,可以增加函数的 通用性,针对 相同的数据处理逻辑,能够 适应更多的数据
    1. 在函数 内部,把参数当做 变量 使用,进行需要的数据处理
    2. 函数调用时,按照函数定义的参数顺序,把 希望在函数内部处理的数据通过参数 传递

4.3.1 形参和实参

  • 形参定义 函数时,小括号中的参数,是用来接收参数用的,在函数内部 作为变量使用
  • 实参调用 函数时,小括号中的参数,是用来把数据传递到 函数内部 用的

4.3.2 函数的返回值

  • 返回值 是函数 完成工作后,最后 给调用者的 一个结果
  • 在函数中使用 return 关键字可以返回结果
  • 调用函数一方,可以 使用变量 来 接收 函数的返回结果

注意:return 表示返回,后续的代码都不会被执行

 

 

 

 

 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值