• 程序的基本语法元素
    程序的格式框架、缩进、注释、变量、命令、保留字、数据类型、赋值语句、引用
  • 基本输入、输出函数
    input()、eval()、print()
  • 源程序的书写风格

image.png

Python程序的格式框架

段落式是Python语法的一部分,这种设计有助于提高代码的可读性和维护性

缩进

  • 1个缩进 = 4个空格
  • 缩进是Python语言中表明程序框架的唯一手段
  • 一般代码不需要缩进,顶行编写且不留空白
  • 当表达分支、循环、函数、类等程序含义时,
    在if、while、for、def、class等保留字所在完整
    语句后通过英文冒号(:)结尾并在之后进行缩
    进,表明后续代码与紧邻无缩进语句的所属关

缩进错误

如果程序报错SyntaxError: unexpected indent 即代表意外缩进错误
image.png

注释

采用 # 来表示一行注释的开始

>>> #注释的第一行
#注释第二行
print("hahaha")#注释开始

hahaha

续行符

  • Python每行代码并无长度限制
  • 提供续行符(由反斜杠\符号表示)将但行代码分割为多行表达式
>>> print("{}是{}的首都".format(\
    "北京",\
    "中国"\
    ))
北京是中国的首都
>>> print("{}是{}的首都".format("北京","中国"))
北京是中国的首都

注意

续航符后不能存在空格,必须直接换行

语法元素的名称

Python的少部分单词为保留字,大部分由用户自己定义,通过命名过程变成了变量或函数

变量

变量的值是可以改变的,能够通过赋值(使用等号=表达)方式被修改

>>> a=1
>>> a=a+1
>>> a+=1
>>> print(a)
3

命名

  • 允许采用大写字母、小写字母、数字、下划线(_)和汉字等字符及其组合给变量命名,但名字的首字符不能是数字,中间不能出现空格,长度没有限制
    注意:标识符对大小写敏感,python和Python是两个不同的名字

保留字

Python 3.5 有35个保留字,区分大小写
image.png

>>> true==True
Traceback (most recent call last):
  File "<pyshell#50>", line 1, in <module>
    true==True
NameError: name 'true' is not defined
>>> True==True
True
>>> 

数据类型

计算机对数据进行运算时需要明确数据的类型和含义
Python语言支持多种数据类型,最简单的包括数字类型、字符串类型,略微复杂的包括元组类型、集合类型、列表类型、字典类型等

数字类型

Python语言提供3种数字类型:整数、浮点数和复数,分别对应数学中的整数、实数和复数

  • 整数
    一个整数值可以表示为十进制、十六进制、八进制和二进制等不同进制形式
>>> 1010==0x3F2
True
  • 浮点数
    一个浮点数可以表示为带有小数点的一般形式,也可以采用科学计数法表示
  • 复数
    复数类型与数学中的复数相一致,采用a+bj的形式表示,存在实部和虚部。

字符串类型

字符串是用两个双引号" "或者单引号' '起来的一个或多个字符

序号体系

Python字符串的两种序号体系
image.png
字符串的索引可以为负数

  • 截取单个字符
    如果字符串长度为L,正向递增需要以最左侧字符序号为0,向右依次递增,最右侧字符序号为L-1;
    反向递减序号以最右侧字符序号为-1,向左依次递减,最左侧字符序号为-L
>>> "对酒当歌,人生几何?"[1]
'酒'
>>> "对酒当歌,人生几何?"[-1]
'?'
>>> "对酒当歌,人生几何?"[3]
'歌'
>>> "对酒当歌,人生几何?"[-3]
'几'
  • 截取子串
    可以采用[N: M]格式获取字符串的子串,这个操作被形象地称为切片。[N: M]获取字符串中从N到M(但不包含M,半闭半开集合)间连续的子字符串
    "譬如朝露,去日苦多。"[2:4]
>>> '譬如朝露,去日苦多。'[2:4]
'朝露'
>>> "譬如朝露,去日苦多。"[2:4]
'朝露'
>>> "譬如朝露,去日苦多。"[2:2]
''
>>> "譬如朝露,去日苦多。"[2:1]
''
>>> "譬如朝露,去日苦多。"[1:2]
'如'
  • 获取字符串长度
    Python默认提供的len()函数获取字符串的长度,一个中文字符和西文字符的长度都记为1
>>> len("譬如朝露,去日苦多。")
10
>>> a=("譬如朝露,去日苦多。")
>>> len(a)
10

程序的语句元素

表达式

产生或计算新数据值的代码片段称为表达式
表达式一般由数据和操作符等构成,这是构成Python语句的重要部分

赋值语句

Python语言中,= 表示“赋值”

  • 赋值单个
    <变量> = <表达式>
  • 同步赋值
    1.同时给多个变量赋值
    <变量1>, …, <变量N> = <表达式1>, …, <表达式N>
>>> n=3
>>> x,y=n+1,n+2
>>> x
4
>>> y
5

2.相互交换变量的值
将x和y的值相互交换

>>> x,y=y,x
>>> x
5
>>> y
4

引用

Python程序会经常使用当前程序之外已有的功能代码,这个过程叫“引用”
。Python语言使用import保留字引用当前程序以外的功能库,使用方
式如下:
import <功能库名称>
引用功能库之后,采用
<功能库名称>.<函数名称>()方式调用具体功能,简称为A.B()

import turtle
turtle.fd(-200)
turtle.right(90)
turtle.circle(200)

image.png

其他语句

Python程序还包括一些其他的语句类型,例如,分支语句和循环语句等

分支语句

根据判断条件选择程序执行路径。分支语句包括:单分支、二分支和多分支

  • 单分支
    if <条件>:
    <语句块>
num=eval(input("请输入一个整数:"))
if 0<=num<=100:
    print("输入整数在0带100之间(含)")
  • 二分支
    if <条件>:
    <语句块>
    else:
    <语句块>
num=eval(input("请输入一个整数:"))
if 0<=num<=100:
    print("输入整数在0带100之间(含)")
else:
    print("输入整数不在在0带100之间(含)")

while循环语句

根据判断条件确定一段程序是否再次执行一次或者多次。循环语句包括遍历循环和条件循环
while (<条件>):
<语句块1>
<语句块2>

n=10
while n<100:
    print(n,end=" ")
    n=n+3

基本输入输出函数

3个重要的基本输入input()、输出print()、转换函数eval()

input()函数

获得用户输入之前,input()函数可以包含一些提示性文字
<变量> = input(<提示性文字>)

>>> a = input("请输入一个小数: ")
请输入一个小数: 3.1415946
>>> a
'3.1415946'
>>> a = input("请输入: ")
请输入: [1,2,3,"a","b","c"]
>>> a
'[1,2,3,"a","b","c"]'
>>> a = input()
asd
>>> a
'asd'

eval()函数

  • eval(<字符串>)函数是Python语言中一个十分重要的函数,它能够以Python表达式的方式解析并执行字符串去掉字符串外侧的引号,将返回结果输出
>>> a=eval("1.2+3.4")
>>> print(a)
4.6
  • eval()函数经常和input()函数一起使用,用来获取用户输入的数字,使用方式如下:
>>> value = eval(input("请输入要计算的数值: "))
请输入要计算的数值: 22
>>> print(value*2)
44
>>

print()函数

输出运算结果,根据输出内容的不同,有三种用法

  • 仅用于输出字符串
    print(<待输出字符串>)
>>> print("Hello World!")
Hello World!
  • 仅用于输出一个或多个变量
    print(<变量1>, <变量2>,…, <变量n>)
>>> s="Java"
>>> print(s,s,s)
Java Java Java
  • 混合输出字符串与变量值
    print(<输出字符串模板>.format(<变量1>, <变量2>,…, <变量n>))
>>> a,b=2,6
>>> print("数字{}和数组{}的和是{}".format(a,b,a+b))
数字2和数组6的和是8
  • 取消print()的默认换行或对输出文本追加其他内容
    print(<待输出内容>, end="<增加的输出结尾>")
>>> a=1
>>> print(a,end="!")
1!
>>> print(a,end="字母")
1字母

实现一个将输入字符串逆序输入的功能

s=input("请输入一段文本:")
i=len(s)-1
while i>=0:
    print(s[i],end="")
    i=i-1
s=input("请输入一段文本:")
i=-1
while i>=-1*len(s):
    print(s[i],end="")
    i-=1

这个家伙很懒,啥也没有留下😋