学习python第三天

  今天是学习 python 的第三天,此处重点记忆,


1、判断(if)语句

1.1  if 语句体验

  • 注意:代码的缩进为一个 tab 键,或者 4 个空格 —— 建议使用空格
  • 在 Python 开发中,Tab 和空格不要混用!

1.2  逻辑运算

  • and(与 java 的 & 符号类似)
  • or(与 java 的 | 符号类似)
  • not(与 java 的!符号类似)

1.3  if 语句进阶

elif:相当于 java 的 else if

注意

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

1.4  举一个例子

例子:从控制台输入要出的拳 —— 石头(1)/剪刀(2)/布(3),与电脑对战,电脑随机出拳

import random
def game():
    a = random.randint(1, 3)
    b = int(input("你出石头(1)/剪刀(2)/布(3)\t"))
    if (a == 1 and b == 2) or (a == 2 and b == 3) or (a == 3 and b == 1):
        print("电脑赢了")
    elif (a == b):
        print("平局")
    else:
        print("恭喜你,你赢了")
    print("电脑出的是%d\t石头(1)/剪刀(2)/布(3)" % a)
game()

随机数的处理

  • 在 Python 中,要使用随机数,首先需要导入 随机数 的 模块 —— “工具包”

    python import random

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

2、循环(while)语句

2.1  while的基本使用

首先,初始化计数器

while 条件(判断 计数器 是否达到 目标次数):

  条件满足时,做的事情

  处理条件:计数器 + 1

2.2  举一个例子

例子:计算 0 ~ 100 之间 所有 偶数 的累计求和结果

def test07():
    i = 0
    sum = 0
    while i <= 100:
        if i % 2 == 0:
            sum += i
        i += 1
    print("1-100的偶数和为:%d" % sum)
test07()

2.3  break 和 continue

break 和 continue 是专门在循环中使用的关键字(和 java 一样)

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

小技巧

向控制台输出内容结束之后,不会换行

  print("*", end="")

单纯的换行

  print("") 


2.4  字符串中的转义字符

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

  • \t 在控制台输出一个 制表符,协助在输出文本时 垂直方向 保持对齐
  • \n 在控制台输出一个 换行符
转义字符描述
\\ 反斜杠符号
\' 单引号
\" 双引号
\n 换行
\t 横向制表符
\r 回车

3、函数基础

3.1  函数基本使用

函数的定义

def method():
    print("此处定义了一个函数。")

# 函数只有调用才会被执行,解释器只是知道定义了一个method函数
method()

PyCharm 的调试工具

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

带参数的函数

def method(num1, num2):
    return num1 + num2

# 注意调用带参数函数的形参与实参问题,返回值问题
print(method(2, 5))

3.2  使用模块中的函数(重点)

模块是 Python 程序架构的一个核心概念

  • 模块 就好比是 工具包,要想使用这个工具包中的工具,就需要 导入 import 这个模块
  • 每一个以扩展名 py 结尾的 Python 源代码文件都是一个 模块
  • 在模块中定义的 全局变量 、 函数 都是模块能够提供给外界直接使用的工具

模块体验

  1、在xxx文件夹下创建九九乘法表.py

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

  2、在xxx文件夹下使用九九乘法表这个模块(不用再写.py尾缀)

import xxx.九九乘法表 as tf

# 调用九九乘法表模块下的test方法
tf.test()

模块名也是一个标识符

  • 标示符可以由 字母下划线 和 数字 组成
  • 不能以数字开头
  • 不能与关键字重名

注意:如果在给 Python 文件起名时,以数字开头 是无法在 PyCharm 中通过导入这个模块的

3.3  Pyc 文件(了解)

操作步骤

  1. 浏览程序目录会发现一个 __pycache__ 的目录
  2. 目录下会有一个 hm_10_分隔线模块.cpython-35.pyc 文件,cpython-35 表示 Python 解释器的版本
  3. 这个 pyc 文件是由 Python 解释器将 模块的源码 转换为 字节码
  • Python 这样保存 字节码 是作为一种启动 速度的优化

字节码

  • Python 在解释源程序时是分成两个步骤的

    1. 首先处理源代码,编译 生成一个二进制 字节码
    2. 再对 字节码 进行处理,才会生成 CPU 能够识别的 机器码
  • 有了模块的字节码文件之后,下一次运行程序时,如果在 上次保存字节码之后 没有修改过源代码,Python 将会加载 .pyc 文件并跳过编译这个步骤

  • 当 Python 必须重编译时,它会自动检查源文件和字节码文件的时间戳:如果你又保存了源代码,下次程序运行时,字节码将自动重新创建。
posted @ 2018-10-11 22:50  人工智能之路上的菜鸡  阅读(155)  评论(0编辑  收藏  举报