Podcast
Questions and Answers
Python
Python
- --
- # (correct)
- /* */
- //
Python ______()
Python ______()
encode
x
'123'
type(x)
x
'123'
type(x)
- int
- str (correct)
- float
- bytes
Python 10 / 3
Python 10 / 3
''
UTF-8 Python
''
UTF-8 Python
Python print(..., end='______')
Python print(..., end='______')
PythonTrue
?
PythonTrue
?
Python3ASCII
Python3ASCII
>>> print('\ t\')
>>> print('\ t\')
s = 'ABC'``s2 = b'ABC'
s = 'ABC'``s2 = b'ABC'
Bytesdecode()
Bytesdecode()
ord('')
ord('')
Flashcards
Python
Python
是一种计算机编程语言,与自然语言不同,需严格遵守语法。
是给人看的注释,解释器会忽略。
缩进
缩进
当语句以冒号结尾时,缩进的语句被视为代码块。
数字分隔符
数字分隔符
Signup and view all the flashcards
字符串
字符串
Signup and view all the flashcards
\
\
Signup and view all the flashcards
r''
r''
Signup and view all the flashcards
'''...'''
'''...'''
Signup and view all the flashcards
布尔值
布尔值
Signup and view all the flashcards
None
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
Unicode
Signup and view all the flashcards
UTF-8
UTF-8
Signup and view all the flashcards
str
str
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
写在一行里不好阅读,可以用'''...'''
的格式表示多行内容。
- 布尔值: 和布尔代数的表示完全一致, 一个布尔值只有
True
、False
两种值, 可以直接用True
、False
表示布尔值 (注意大小写) , 也可以通过布尔运算计算出来。- 布尔值可以用
and
、or
和not
运算。and
运算是与运算,所有都为True
,结果才是True
。or
运算是或运算,只要其中有一个为True
,结果就是True
。not
运算是非运算,把True
变成False
,False
变成True
。
- 布尔值经常用在条件判断中。
- 布尔值可以用
- 空值: Python 里一个特殊的值,用
None
表示. - Python 还提供了列表、字典等多种数据类型, 还允许创建自定义数据类型。
变量
- 变量的概念和初中代数的方程变量是一致的, 只是在计算机程序中,变量可以是数字, 还可以是任意数据类型。
- 变量在程序中用一个变量名表示
- 变量名必须是大小写英文、数字和
_
的组合, 且不能用数字开头。
- 变量名必须是大小写英文、数字和
a = 1
- 变量
a
是一个整数。
t_007 = 'T007'
- 变量
t_007
是一个字符串。
Answer = True
- 变量
Answer
是一个布尔值True
。 - Python 中
x = y
是赋值语句。 - 同一个变量可以反复赋值, 而且可以是不同类型的变量。
动态语言
- 变量本身类型不固定的语言称为动态语言。
- 静态语言在定义变量时必须指定变量类型,如果赋值的时候类型不匹配,就会报错。
- Java 是静态语言。
Python 解释器执行代码的两件事:
- 在内存中创建了一个
ABC
的字符串; - 在内存中创建了一个名为
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.