1.基础认识
用途:自动化文本处理、支持开发大型程序、标准化模块、解释型语言、支持扩展;
Python 解释器在可用的机器上通常被安装为 /usr/local/bin/python3.12;
源文件的字符编码:
默认情况下,Python 源码文件的编码是 UTF-8;
如果不使用默认编码,则要声明文件的编码,文件的 第一行要写成特殊注释:
# -*- coding: encoding -*-
注释:Python 注释以#开头,直到该物理行结束;
Python 用 ** 运算符计算乘方 1:
# This is the first demo
print(2**5)
Python 全面支持浮点数;混合类型运算数的运算会把整数转换为浮点数:
>>> 4*5.72+1
23.88
Python 还可以操作文本(由 str 类型表示,称为“字符串”),可以用成对的单引号 (‘…’) 或双引号 (“…”) 来标示,结果完全相同。
>>> 'hello world'
'hello world'
>>> "hello world"
'hello world'
需要对它进行“转义”,即在前面加一个 \。
>>> 'doesn\'t'
"doesn't"
字符串换行:\n;
如果字符串含\n但不希望换行:前加r
>>> s = "Hello World \nI'm coming"
>>> print(s)
Hello World
I'm coming
>>> print("C:some\name")
C:some
ame
>>> print(r"C:some\name")
C:some\name
字符串可包含多行,利用三重引号。
>>> print("""Personal Message
... name
... age
... """)
Personal Message
name
age
>>> print("""\
... Message
... Age
... Name
... """)
Message
Age
Name
字符串可以用 + 合并,用 * 重复;
相邻的两个或多个字符串字面值(引号标注的字符)会自动合并;
合并多个变量,或合并变量与字面值,要用 +,不能用相邻;
>>> print(3 * 'Hello' + 'World')
HelloHelloHelloWorld
>>> 'Py''thon'
'Python'
>>> text = ('Please the first code'' Ok?')
>>> text
'Please the first code Ok?'
字符串支持索引 (下标访问),第一个字符的索引是 0,最后一个字符为-1;支持切片,输出结果包含切片开始,但不包含切片结束;
>>> word = 'favourite'
>>> word[0]
'f'
>>> word[-1]
'e'
>>> word[0:-2]
'favouri'
>>> word[0:4]
'favo'
理解切片,索引指向的是字符之间 ,第一个字符的左侧标为 0,最后一个字符的右侧标为 n ,n 是字符串长度。i 到 j 的切片由 i 和 j 之间所有对应的字符组成。如果两个索引都不越界,切片长度就是起止索引之差。注意word[0:-2]的索引结果,一般别用。
+---+---+---+---+---+---+
| P | y | t | h | o | n |
+---+---+---+---+---+---+
0 1 2 3 4 5 6
-6 -5 -4 -3 -2 -1
Python 字符串不能修改,是 immutable 的。因此,为字符串中某个索引位置赋值会报错。
内置函数 len() 返回字符串的长度。
>>> word[0] = 'q'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment
>>> len(word)
9