退出官方的解释器

  • 直接输入exit()
  • 按热键Ctrl + d

pycharm的简单快捷键

  • 执行:Shift + F10
  • 调试:Shift + F9
  • 单步执行按钮:F8

    基础语法

    关键字

  • 关键字:就是在Python内部已经使用的标识符,关键字具有特殊的功能和含义,开发者不允许定义和关键字具有相同名字的标识符

  • 可以通过以下命令查看Python中的关键字

    1. import keyword
    2. keyword.kwlist

      注释

  • 单行注释:以#开头,#右边的所有东西都是注释

    • 说明:为了保证代码的可读性,#后面建议先添加一个空格。如果在代码后面增加注释,注释和代码之间至少要有两个空格
    • 单行注释快捷键:Ctrl + /
  • 多行注释:一对连续的三个引号(单引号和多引号都可以)之间的内容是注释

    行与缩进

  • Python最具特色的就是使用缩进来表示代码块,而不需要使用大括号{}

  • 缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数,如果缩进不一致会报错

    多行语句

  • 如果语句很长,可以使用反斜杠 \ 来实现多行语句

  • 在[]、{}、()中的多行语句,不需要使用反斜杠 \

    同一行使用多条语句

  • Python可以在同一行中使用多条语句,语句之间使用分号 ; 分割

    代码规范文档

  • https://peps.python.org/pep-0008/

  • https://zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/python_style_rules/

    变量

    标识符

  • 标识符:就是程序员定义的变量名、函数名,名字需要有见名知意的效果

    • 标识符的第一个字符必须是字母表中的字母或下划线_
    • 标识符的其他部分由字母、数字和下划线组成
    • 标识符对大小写敏感
  • 标识符的命名规则

    • 对于变量名和函数名,使用下划线命名法:每个单词都使用小写字母,单词与单词之间使用下划线连接
    • 对于类名,使用驼峰命名法
      • 小驼峰式命名法:第一个单词的首字母小写,后续单词的首字母大写
      • 大驼峰式命名法:每一个单词的首字母都大写

        变量的定义

  • 在Python中,每个变量在定义时都必须赋值,变量赋值以后该变量才会被创建,赋值方式:变量名 = 值

  • 在Python中,定义变量时不需要指定类型,Python会根据等号右侧的值,自动推导出变量中存储数据的类型
  • 在内存中创建一个变量,会包括

    • 变量的名称
    • 变量保存的数据
    • 变量存储数据的类型
    • 变量的地址

      变量的类型

  • 在Python中,定义变量时不需要指定数据类型,数据类型可以分为数值型和非数值型

  • 数值型
    • 整型:int,int的长度理论上是无限的
      • 二进制:bin,八进制:oct,十六进制:hex
    • 浮点型:float,float提供大约17位的精度和范围从-308到308的指数,和C语言中的double类型相同。如果程序需要精确控制区间和数字精度,可以考虑使用numpy扩展库
    • 布尔型:bool
      • 真:True,非0数
      • 假:False,0
    • 复数型:complex
      • 定义:c = complex(3, 4)
      • 则 c.real = 3,c.imag = 4
  • 非数值型
    • 字符串:str
    • 列表:list
    • 元组:tuple
    • 字典:dict
    • 集合:set
  • 字符串中的转义字符
    • \:反斜杠符号
    • \’:单引号
    • \”:双引号
    • \n:换行
    • \t:制表符
    • \r:回到行首
  • ASCII码

    • 查看一个字符的ASCII码:ord()
    • 将ASCII码转换为字符:chr()

      不同类型变量之间的运算

  • 两个数值型变量可以直接进行算术运算

  • 如果变量是bool型,True对应的数字是1,False对应的数字是0
  • 在字符串变量之间可以使用 ‘+’ 用于拼接字符串
  • 在字符串变量和整数之间可以使用 ‘‘ 用于重复拼接相同的字符串,例如:’-‘ 50
  • 在数值型变量和字符串之间不能进行其他运算

    变量的输入

  • 在Python中可以使用input函数从键盘等待用户的输入,用户输入的任何内容都认为是一个字符串

  • 语法:字符串变量 = input(‘提示信息:’)
  • 类型转换函数

    • int(x):将x转换为一个整数
    • float(x):将x转换为一个浮点数
    • 举例:price = float(input(“请输入价格:”))

      变量的格式化输出

  • %被称为格式化操作符,专门用于处理字符串中的格式,包含%的字符串被称为格式化字符串

  • %和不同的字符连用,不同类型的数据需要使用不同的格式化字符
    • %s:用于输出字符串
      • %10s表示占10个位置,居右对齐
      • %-10s表示占10个位置,居左对齐
    • %d:用于输出有符号十进制整数
      • %06d表示不足6位的整数的前面部分使用0补全
      • %6d表示不足6位的整数居右对齐
      • %-6d表示不足6位的整数居左对齐
    • %f:用于输出浮点数
      • %.2f表示小数点后只显示2位,四舍五入
      • %06.f表示整个小数不足6位的小数的前面部分使用0补全
      • %.02f表示小数点后只显示2位,小数部分不足两位的小数的后面部分使用0补全
      • %6.2f表示小数点后只显示2位,整个小数不足6位的小数居右对齐
      • %-6.2f表示小数点后只显示2位,整个小数不足6位的小数居左对齐
    • %u:格式化无符号整型
    • %o:格式化无符号八进制数
    • %x:格式化无符号十六进制数
    • %X:格式化无符号十六进制数(大写)
    • %e / %E / %g / %G:用科学计数法格式化浮点数
    • %%:输出%
  • 举例:name = “xiongda”; print(“我的名字是 %10s,请多多关照” % name)

    补充:end=” “

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

  • 如果不希望末尾增加换行,可以在print函数输出内容的后面增加:end=” “
  • 其中” “中间可以指定print函数输出内容之后,继续希望显示的内容
  • 举例:print(“*”, end=” “)

    运算符

    算术运算符

  • +:加,两个对象相加

  • -:减,得到负数或是一个数减去另一个数
  • *:乘,两个数相乘或是返回一个被重复若干次的字符串
  • /:除,注意 21 / 10 = 2.1
  • //:整除,向下取接近商的整数,例如 9 // 2 = 4,-9 // 2 = -5
  • %:取模,返回除法的余数
  • **:幂,返回x的y次幂
  • 算术运算符的优先级

    • > * / % // >** + -
    • 同级运算符按从左至右计算,可以使用()调整计算的优先级

      比较运算符

  • ==、!=、>、<、>=、<=

    逻辑运算符

  • and:与运算符

    • 遇假则假,都为真返回最后一个真
    • 是短路与,即前一个为假,后面的则不再执行
  • or:或运算符
    • 遇真则真,有一个为真返回第一个真
    • 是短路或,即前一个为真,后面的则不再执行
  • not:非运算符

    赋值运算符

  • =、+=、-=、=、/=、//=、%=、*=

    位运算符

  • &:按位与运算符

  • |:按位或运算符
  • ^:按位异或运算符
  • ~:按位取反运算符
  • <<:左移运算符
  • :右移运算符

    成员运算符

  • in:如果在指定的序列中找到值返回True,否则返回False

  • not in:如果在指定的序列中没有找到值返回True,否则返回False

    身份运算符

  • is:判断两个变量是否引用自同一个对象,类似 id(x) == id(y)

  • is not:判断两个变量是否引用自不同对象,类似 id(x) != id(y)
  • is 和 == 的区别

    • is 用于判断两个变量是否引用自同一个对象
    • == 用于判断所引用对象的值是否相等

      条件控制语句

      if语句

      1. if condition_1:
      2. statement_block_1
      3. elif condition_2:
      4. statement_block_2
      5. else:
      6. statement_block_3
  • Python中用 elif 代替了 else if,所以if语句的关键字为:if-elif-else

  • 每个条件后面要使用冒号:,表示接下来是满足条件后要执行的语句块
  • 使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块
  • 在Python中没有switch-case语句
  • if语句也可以嵌套

    补充:随机数生成

  1. 导包:import random
  2. 使用random模块的randint()函数来生成随机数,random.randint(a, b)返回一个在[a, b]之间的整数

    循环语句

    while语句

    1. while condition:
    2. statement_block
  • 需要注意冒号和缩进
  • Python中没有do…while循环
  • while语句可以结合else语句使用
    • 语法格式:

image.png

  • 如果while后面的条件语句为false时,则会执行else的语句块

    for语句

    1. for <variable> in <sequence>:
    2. <statements>
    3. else:
    4. <statements>
  • for循环可以遍历任何可迭代对象,如一个列表或者一个字符串
  • for循环也可以使用else语句,如果没有通过break退出循环,循环结束后,则会执行else语句中的代码 ```python sites = [“Baidu”, “Google”,”Runoob”,”Taobao”] for site in sites: if site == “Runoob”:
    1. print("菜鸟教程!")
    2. break
    print(“循环数据 “ + site) else: print(“没有循环数据!”) print(“完成循环!”)

“”” 输出: 循环数据 Baidu 循环数据 Google 菜鸟教程! 完成循环! “”” ```

  • range函数
    • 用法一:从0开始
      • 例如:for i in range(5),则 i 依次为0、1、2、3、4
    • 用法二:指定区间
      • 例如:for i in range(5, 9),则 i 依次为5、6、7、8
    • 用法三:指定区间和步长,步长可以是负数
      • 例如:for i in range(0, 10, 3),则 i 依次为0、3、6、9
    • 用法四:使用range()函数创建一个列表

举例:
image.png

  • 拓展:结合range()和len()函数遍历一个序列

image.png

break和continue语句

  • break语句用于跳出for和while的循环体
  • continue语句用于跳出当次循环,然后继续下一次循环

    pass语句

  • pass语句是空语句,不做任何事情,一般用作占位语句,是为了保持程序结构的完整性