Python 基础:你的第一个程序

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

Python

  • --
  • # (correct)
  • /* */
  • //

Python ______()

encode

x '123' type(x)

  • int
  • str (correct)
  • float
  • bytes

Python 10 / 3

<p>False (B)</p> Signup and view all the answers

'' UTF-8 Python

<p>''.encode('utf-8')</p> Signup and view all the answers

Python print(..., end='______')

<p>&quot;)</p> Signup and view all the answers

PythonTrue?

<p><code>not 1 &gt; 2</code> (A)</p> Signup and view all the answers

Python3ASCII

<p>False (B)</p> Signup and view all the answers

>>> print('\ t\')

<p>\ \</p> Signup and view all the answers

s = 'ABC'``s2 = b'ABC'

<p>sstrings2bytes (B)</p> Signup and view all the answers

Bytesdecode()

<p>False (B)</p> Signup and view all the answers

ord('')

<p>&quot;&quot;</p> Signup and view all the answers

Flashcards

Python

是一种计算机编程语言,与自然语言不同,需严格遵守语法。

是给人看的注释,解释器会忽略。

缩进

当语句以冒号结尾时,缩进的语句被视为代码块。

数字分隔符

可以在数字中间用_分隔,提高可读性。

Signup and view all the flashcards

字符串

用单引号或双引号括起来的文本。

Signup and view all the flashcards

\

转义特殊字符,例如 \n (换行) 和 \t (制表符)。

Signup and view all the flashcards

r''

表示内部字符串默认不转义。

Signup and view all the flashcards

'''...'''

表示多行内容。

Signup and view all the flashcards

布尔值

表示真或假。

Signup and view all the flashcards

None

是一个特殊的值,表示空。

Signup and view all the flashcards

变量

是程序中用来指向数据对象的名称。

Signup and view all the flashcards

赋值

等号 = 是赋值语句,给变量赋值。

Signup and view all the flashcards

动态语言

是可以改变的变量。

Signup and view all the flashcards

变量创建

在内存中创建字符串,变量指向该字符串。

Signup and view all the flashcards

常量

不能变的变量。

Signup and view all the flashcards

%

是取余数。

Signup and view all the flashcards

编码

将文本转换为数字才能处理。

Signup and view all the flashcards

Unicode

把所有语言统一编码。

Signup and view all the flashcards

UTF-8

可变长编码。

Signup and view all the flashcards

str

UTF-8 编码的字符串类型

Signup and view all the flashcards

Study Notes

第一个 Python 程序

  • 程序的运行结果会根据用户的输入变化而不同。
  • 在命令行下,输入和输出非常简单。

小结

  • 计算机程序执行特定任务, 需要输入来告知程序所需信息, 需要输出告知用户结果.
  • 输入是 Input, 输出是 Output, 简称 I/O.
  • input()print() 是命令行下最基本的输入和输出。
  • 用户可以通过图形界面完成输入和输出,例如网页上的文本框。

练习

  • 利用 print() 输出 1024 * 768 = XXX

Python 基础

  • Python,一种计算机编程语言,语法相对简单。
  • 编程语言必须保证程序没有歧义, 所以有自己的一套语法。
  • 编译器或解释器将符合语法的程序代码转换成机器码,以便 CPU 执行。
  • Python 的语法采用缩进方式, 代码示例如下:
a = 100
if a >= 0:
    print(a)
else:
    print(-a)
  • # 开头的语句是注释,供人阅读,解释器会忽略。
  • 语句以冒号 : 结尾时,缩进的语句视为代码块。
  • 使用缩进可以强制写出格式化的代码,建议始终坚持使用 4 个空格的缩进。
  • 缩进的缺点是 “复制-粘贴” 功能失效,必须重新检查缩进是否正确。
  • Python 程序大小写敏感,写错大小写会导致程序报错。

小结

  • Python 使用缩进来组织代码块,请务必遵守约定俗成的习惯,坚持使用 4 个空格的缩进。
  • 需要设置文本编辑器把 Tab 自动转换为 4 个空格,确保不混用 Tab 和空格。

数据类型和变量

  • 数据需要定义不同的数据类型。
  • Python 中能够直接处理的数据类型有:整数、浮点数、字符串、布尔值、空值、列表、字典等。

数据类型

  • 整数: 可以处理任意大小的整数, 包括负整数。
    • 在程序中的表示方法和数学上的写法一样,如 1, 100, -8080, 0
    • 十六进制用 0x 前缀和 0-9, a-f 表示。
    • 允许在数字中间用 _ 分隔。
  • 浮点数: 即小数。
    • 小数点位置可变。
    • 可以用数学写法,如 1.23, 3.14, -9.01
    • 很大或很小的浮点数必须用科学计数法表示(把10用e替代),如 1.23x10^9 就是 1.23e9
    • 整数运算永远是精确的,浮点数运算可能会有四舍五入的误差。
  • 字符串: 以单引号 ' 或双引号 " 括起来的任意文本。
    • ''"" 本身只是一种表示方式,不是字符串的一部分。
    • 如果 ' 本身也是一个字符,可以用""括起来。
    • 如果字符串内部既包含 ' 又包含 ",可以用转义字符 \ 来标识。
    • \n 表示换行,\t 表示制表符,字符 \ 本身也要转义,所以 \\ 表示的字符就是 \
    • 如果字符串里面有很多字符都需要转义,可以用 r'' 表示 '' 内部的字符串默认不转义。
    • 如果字符串内部有很多换行,用 \n 写在一行里不好阅读,可以用 '''...''' 的格式表示多行内容。
  • 布尔值: 和布尔代数的表示完全一致, 一个布尔值只有 TrueFalse 两种值, 可以直接用 TrueFalse 表示布尔值 (注意大小写) , 也可以通过布尔运算计算出来。
    • 布尔值可以用 andornot 运算。
      • and 运算是与运算,所有都为 True,结果才是 True
      • or 运算是或运算,只要其中有一个为 True,结果就是 True
      • not 运算是非运算,把 True 变成 FalseFalse 变成 True
    • 布尔值经常用在条件判断中。
  • 空值: Python 里一个特殊的值,用 None 表示.
  • Python 还提供了列表、字典等多种数据类型, 还允许创建自定义数据类型。

变量

  • 变量的概念和初中代数的方程变量是一致的, 只是在计算机程序中,变量可以是数字, 还可以是任意数据类型。
  • 变量在程序中用一个变量名表示
    • 变量名必须是大小写英文、数字和 _ 的组合, 且不能用数字开头。
a = 1
  • 变量 a 是一个整数。
t_007 = 'T007'
  • 变量 t_007 是一个字符串。
Answer = True
  • 变量 Answer 是一个布尔值 True
  • Python 中 x = y 是赋值语句。
  • 同一个变量可以反复赋值, 而且可以是不同类型的变量。

动态语言

  • 变量本身类型不固定的语言称为动态语言。
  • 静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。
  • Java 是静态语言。

Python 解释器执行代码的两件事:

  1. 在内存中创建了一个 ABC 的字符串;
  2. 在内存中创建了一个名为 a 的变量, 并把它指向 ABC
  • 可以把一个变量 a 赋值给另一个变量 b,这个操作实际上是把变量 b 指向变量 a 所指向的数据。

常量

  • 常量就是不能变的变量.
  • Python 中通常用全部大写的变量名表示常量
PI = 3.14159265359
  • 事实上 PI 仍然是一个变量,Python 没有任何机制保证 PI 不会被改变。
  • 用全部大写的变量名表示常量只是一个习惯上的用法.
  • Python 中,有两种除法
    • / 除法计算结果是浮点数, 即使是两个整数恰好整除, 结果也是浮点数.
    • // 称为地板除, 两个整数的除法仍然是整数.
    • 整数的地板除//永远是整数, 即使除不尽.
    • 要做精确的除法, 使用/ 就可以.
    • // 除法只取结果的整数部分, 所以 Python 还提供一个余数运算, 可以得到两个整数相除的余数.
>>> 10 % 3
1
  • 无论整数做 // 除法还是取余数, 结果永远是整数,所以,整数运算结果永远是精确的。

练习

  • 请打印出以下变量的值:
n = 123
f = 456.789
s1 = 'Hello, world'
s2 = 'Hello, \'Adam\''
s3 = r'Hello, "Bart"'
s4 = r'''Hello,
Lisa!'''

小结

  • Python 支持多种数据类型.
  • 在计算机内部, 可以把任何数据都看成一个 "对象",而变量就是在程序中用来指向这些数据对象的,对变量赋值就是把数据和变量给关联起来.
  • 对变量赋值 x = y 是把变量 x 指向真正的对象,该对象是变量y所指向的。
  • 随后对变量 y 的赋值不影响变量 x 的指向。
  • 注意: Python 的整数没有大小限制.
  • Python 的浮点数也没有大小限制, 但是超出一定范围就直接表示为 inf (无限大)。

字符串和编码

字符编码

  • 计算机只能处理数字,处理文本,需要将文本转换为数字。
  • 计算机采用 8 个比特(bit)作为一个字节(byte),最大的整数是 255。
  • 要表示更大的整数,必须用更多的字节.
  • 美国制定了 ASCII 编码,大小写英文字母、数字和一些符号编码到计算机里。
    • 大写字母A的编码是65
    • 小写字母z的编码是122.
  • 中国制定了 GB2312 编码,用来把中文编进去,至少需要两个字节。
  • Unicode 字符集应运而生,把所有语言都统一到一套编码里,这样就不会再有乱码问题了。
  • Unicode 标准也在不断发展,常用的是 UCS-16 编码,用两个字节表示一个字符.
  • 现代操作系统和大多数编程语言都直接支持 Unicode. 区别:
  • ASCII 编码是1个字节, 而 Unicode 编码通常是2个字节.
  • 字母A用 ASCII 编码是十进制的65,二进制的01000001
  • 字符 0 用 ASCII 编码是十进制的48,二进制的00110000。
  • 汉字中已经超出了 ASCII 编码的范围, 用 Unicode 编码是十进制的20013, 二进制的01001110 00101101.
  • 统一成 Unicode 编码后,如果文本基本上全部是英文,用 Unicode 编码比 ASCII 编码需要多一倍的存储空间,在存储和传输上就十分不划算。
  • 本着节约的精神,又出现了把 Unicode 编码转化为 “可变长编码” 的 UTF-8 编码.
    • UTF-8 编码把一个 Unicode 字符根据不同的数字大小编码成 1-6 个字节。
    • 常用的英文字母被编码成1个字节
    • 汉字通常是3个字节
    • 只有很生僻的字符才会被编码成 4-6 个字节。
    • UTF-8 编码能节省空间。

可以发现,UTF-8 编码有一个额外的好处,就是 ASCII 编码实际上可以被看成是 UTF-8 编码的一部分,所以,大量只支持 ASCII 编码的历史遗留软件可以在 UTF-8 编码下继续工作。

  • 计算机系统通用的字符编码工作方式:

    • 在计算机内存中,统一使用 Unicode 编码.
    • 当需要保存到硬盘或者需要传输的时候,就转换为 UTF-8 编码.
    • 用记事本编辑时从文件读取的 UTF-8 字符被转换为 Unicode 字符到内存里.
    • 编辑完成后,保存的时候再把 Unicode 转换为 UTF-8 保存到文件
    • 服务器浏览网页,动态生成的 Unicode 内容转换为 UTF-8 再传输到浏览器。
  • 源代码的第一行注释是为了告诉 Linux/OS X 系统,这是一个Python 可执行程序,Windows 系统会忽略这个注释.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

Use Quizgecko on...
Browser
Browser