Python 基础 - 极简教程(二)

版权声明:开心源自分享,快乐源于生活 —— 分享技术,传递快乐。转载文章请注明出处,谢谢! https://blog.csdn.net/luckydarcy/article/details/80976858

输入与输出

input() 输入

直接上栗子:

what = input("请输入:");
print ("你输入的内容是: ", what)

  input() 是 Python 的内建函数,括号内存放的参数用作提示信息。执行该语句后,Python 会等待用户输入数据,当从键盘获取数据后,将其返回给 what 变量。与 Python 2.7 不同的是,Python 3.x 没有 raw_input() 函数,只有 input() 函数,因此会把用户输入的任何值都当作字符串来对待

  print() 函数同样是内建函数,与 Python 2.7 不同的是,Python 3.x 的 print() 函数一定要加上括号。
  print() 函数默认是输出换行的,如果不需要换行,需要指定 end 参数,比如:

print("Hello, World!", end="")

  print() 函数支持字符串运算,比如打印 10 个等号,可以这样:

print("="*10)

  print() 函数也可以接收多个参数,此时需要用逗号隔开,比如:

num = 1
print("我要买:", num, "盒", "牛奶")

格式化输出

  Python 中支持两种格式化输出语法。

  一种是类似于 C 语言 printf() 的方式,称为 Formatting Expression。基本是前文格式控制,%(,,) 中分别表示输出内容。
  如果只有一个需要格式化输出的变量,则该变量紧跟在百分号 %(percent)后面即可;如果有多个需要格式化输出的变量,那么需要将变量放到圆括号 ()(parenthesis)中,并且变量之间用逗号 ,(comma)隔开。
  格式化指示符包括:

b’ 二进制。将数字以2为基数进行输出。
c’ 字符。在打印之前将整数转换成对应的Unicode字符串。
d’ 十进制整数。将数字以10为基数进行输出。
o’ 八进制。将数字以8为基数进行输出。
x’ 十六进制。将数字以16为基数进行输出,9以上的位数用小写字母。
e’ 幂符号。用科学计数法打印数字。用’e’表示幂。
g’ 一般格式。将数值以 fixed-point 格式输出。当数值特别大的时候,用幂形式打印。
n’ 数字。当值为整数时和’d’相同,值为浮点数时和’g’相同。不同的是它会根据区域设置插入数字分隔符。
%’ 百分数。将数值乘以100然后以 fixed-point(‘f’) 格式打印,值后面会有一个百分号。

  另一种是类似于 C# 的方式,称为 String Formatting Method Calls。基本是前文格式控制,.format(,,) 中分别表示输出内容。数字 (0, 1, ...) 即代表 format() 里面的元素,所以可以使用 . 调用元素的方法。
  字符串的参数使用 {NUM} 进行表示占位,{0} 表示第一个参数,{1} 表示第二个参数,以后顺次递加。使用 : 指定代表元素需要的操作,如 {0:.3f} 表示保留小数点后三位,{0:<8} 表示占8个字符空间并且左对齐等。
  可以指定所需长度的字符串的对齐方式:

< (默认)左对齐
> 右对齐
^ 中间对齐
= (只用于数字)在小数点后进行补齐

  对比两种格式化输出的方式,我们可以认为 format() 函数通过 {}: 来代替前者的 %

这里写图片描述

这里写图片描述


注释(comment)

Python 中的注释有单行注释和多行注释:

  • Python 中单行注释采用 # 开头
  • Python 中多行注释使用三个单引号(''')或三个双引号("""

但是如果你在类 Unix 系统中看到 Python 文件中有这一行:

#!/usr/bin/python

它就不是注释了,而是指定脚本解释器的路径。


行与缩进

  在 C、Java、Object-C、PHP 等语言中,每一条语句最后都要加个分号(semicolon)表示语句结束。但是在 Python 中,分号是可选的,也就是说分号可加也可不加。
  通常,Python 代码都是不加分号的,因为语句后面的换行符足以表示语句结束。但是,如果你想在一行写多个语句,就必须加上分号,比如:

num1 = 1; num2 = 2
print(num1+num2)

  Python 最具特色的就是使用缩进(indent)来表示代码块,不需要使用大括号({})和 Shell 中恶心的 if...fido...donecase...esac 等等。如果你是从其他语言转过来的,可能跟我一样觉得缩进很别扭,但是没办法,多看几眼吧!慢慢就顺眼了。
  注意:缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。


变量与数据类型

  Python 中的变量不需要声明,但是变量使用前必须赋值(即便是空值),变量赋值以后该变量才会被创建。变量的赋值使用等号(=),等号运算符左边是一个变量名,右边是存储在变量中的值。
  实际上,在 Python 中,变量就是变量,它没有类型,我们平常说的“类型”指的是变量所指向的内存中对象的类型。

  Python 3.x 中有六种标准的数据类型。

数据类型 描述 示例 说明
Number 数字,包括:
int、bool、float 和 complex(复数)
String 字符串,可以用单引号或双引号来表示 str = ” 也可以使用 str() 函数创建
List 列表 [] li = [0, 1, 2] 也可以使用 list() 函数创建
Tuple 元组 () tu = (0, 1, 2) 也可以使用 tuple() 函数创建
Sets 集合 {} se = {0, 1, 2} 也可以使用 set() 函数创建,
创建空集合只能使用 set(),
因为 {} 会被认为是字典
Dictionary 字典 {} di = {‘x’:0, ‘y’:1, ‘z’:2} 也可以使用 dict() 函数创建

  字典(dictionary)是除列表以外 Python 中最灵活的内置数据结构类型。字典用”{}“标识。字典由索引(key)和它对应的值(value)组成。列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

  Python 是强类型的动态脚本语言。不需要声明变量,变量赋值或创建后可以直接使用,但是数据类型不会隐式转换,仍然需要强制(显式)转换。
  我们可以使用 type( ) 函数查看变量类型。

Python 中的布尔值

下面情况转化为布尔值时会认为 False:

  • 整型:0
  • 浮点型:0.0
  • 复数:0+0j
  • 布尔:False
  • 字符串:’’ 或 ”” 空字符串
  • 列表:[ ] 空列表
  • 元组:( ) 空元组
  • 字典:{ } 空字典
  • 集合:set() 空集合

运算符

(1)算术运算符

这里写图片描述

(2)比较(关系)运算符

这里写图片描述

(3)赋值运算符

这里写图片描述

  注意:Python 不支持 ++-- 这种自增、自减运算符

(4)逻辑运算符

这里写图片描述

  注意:Python 没有 &&||,取而代之的是 andornot

(5)位运算符

这里写图片描述

  提示:内建函数 bin() 可以得到二进制编码值

(6)成员运算符

这里写图片描述

(7)身份运算符

这里写图片描述

  提示:内建函数 id() 可以获取对象内存地址

运算符优先级

这里写图片描述


流程控制

  这里的“流程”指的是计算机执行代码的顺序,更具体来讲,就是指 Python 解释器执行 Python 代码的的顺序。
  在计算机中,我们通常将流程控制分为三类:

  • 顺序结构
  • 分支结构/选择结构
  • 循环结构

分支结构

  Python 程序的分支结构有以下几种形式:

【单向分支结构】

if <条件表达式>:
    执行语句
    ...

【双向分支结构】

if <条件表达式>:
    执行语句
    ...
else:
    执行语句
    ...

【多分支结构】

if <条件表达式>:
    执行语句
    ...
elif <条件表达式>:
    执行语句
    ...
else:
    执行语句
    ...

【嵌套分支结构】

if <条件表达式>:
    if <条件表达式>:
        执行语句
        ...
    else:
        执行语句
        ...
else:
    if <条件表达式>:
        执行语句
        ...
    else:
        执行语句
        ...

循环结构

while 循环

while <条件表达式>:
    循环的内容
    [变量的变化]
    ...

  while 循环语句也可以搭配 else 语句,else 中的代码在 while 条件为假的情况下执行,一般用于当条件不满足后所要执行的操作。

while <条件表达式>:
    循环的内容
    [变量的变化]
    ...
else:
    当 <条件表达式> 为假时执行的语句

  另外,我们还经常会用到死循环,也就是循环不会终止的循环类型,除非使用 break 或 exit() 语句。通常我们用 while True: 来实现死循环。

for…in 循环

  for...in 循环语句用于遍历容器类的数据(字符串,列表,元组,集合,字典)。格式如下:

for <变量> in <容器>:
    循环的内容(可以在此使用 <变量>)
    ...

  也可以在一次解析多个变量,格式如下:

for 变量1, 变量2 in <容器>:
    循环的内容(可以在此使用变量1和变量2...

  但是,这种用法依赖于容器的结构,比如包含元组的列表 [(),(),()]、包含列表的列表 [[],[],[]]、包含元组的元组 ((),(),())、包含元组的集合 {(),(),()}、包含字典的列表 [{},{},{}] 等等。
  这种方法是直接解析子项中的数据,举个栗子:

info = [1, 2]
for i,j in info:
    print(i, j)

  上面这段代码,执行出错(TypeError)

info = [(1, 2)]
for i,j in info:
    print(i, j)

  这段代码执行成功,打印“1 2”。

  有时候,我们希望从某个值循环到另一个值,也就是遍历一个数字序列。我们可以使用 Python 的内建函数 range() 来实现,或者通过 len() 函数计算容器长度来实现。
  例如打印 0~9:

for i in range(0, 10):
    print(i)

  在循环语句中,我们可以通过关键字 breakcontinue 来影响执行流程。

  • break 语句可以跳出 for 和 while 的循环体。break 会直接终止循环,使得对应的 else 语句也不会执行(包括 while…else 语句中的 else 块)。
  • continue 语句用于跳过当前循环(不执行后面的语句),然后进入下一轮循环。

  值得一提的是,关键字 pass 并不会影响执行流程。在 Python 中,pass 表示空语句,用于保持程序结构的完整性。也就是说,pass 语句只用于占位,不做任何事情,这么做可以让解释器舒服一点(因为它有强迫症)。


【参考】

  1. Python 变量类型

猜你喜欢

转载自blog.csdn.net/luckydarcy/article/details/80976858