python 学习速查笔记(1)
python 学习速查笔记
很多遍了,这次我一定要干掉这篇文章QAQ,大致结构先给出来,方便查看
[TOC]
python基础语法部分
编码
Python 3 默认使用 UTF-8
编码,所有字符串均为 Unicode
字符串。如果需要指定其他编码,可以在文件开头添加如下声明:
1 | # -*- coding: cp-1252 -*- |
此声明允许使用 Windows-1252 字符集,适用于保加利亚语、白俄罗斯语、马其顿语、俄语、塞尔维亚语等
主要是东欧语系
标识符
- 标识符的第一个字符必须是字母或下划线 _。
- 其他部分可以由字母、数字和下划线组成。
- 标识符对大小写敏感。
- Python 3 支持非 ASCII 标识符,例如中文变量名。
但是不建议使用中文变量名,不方便维护
保留字(关键字)
Python 的保留字(关键字)不能用作标识符。可以通过 keyword
模块查看所有关键字:
在编译器中使用运行以下即可
1 | import keyword |
输出为
1 | ['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'] |
基本不会命名这些吧,建议命名直接明确,并加上注释
##注释
- 单行注释以 # 开头。
- 多行注释可以使用多个 #,或使用三引号 ‘’’ 和 “””
不嫌麻烦用#来多行也行,一般使用快捷键部署1
2
3
4
5
6
7
8# 这是单行注释
'''
这是多行注释
可以写多行内容
'''
"""
这也是多行注释
"""
行与缩进
Python 使用缩进来表示代码块,不需要使用大括号 {}。同一代码块的语句必须保持相同的缩进空格数。(要是爬眼睛看瞎建议还是加上括号)
1 | if True: |
缩进不一致会导致IndentationError
错误。
多行语句
句子太长会影响到可读性,在python可以将一行玩意换行
- 使用反斜杠
\
实现多行语句:1
2
3total = item_one + \
item_two + \
item_three - 在 []、{} 或 () 中的多行语句不需要反斜杠:
1
2total = ['item_one', 'item_two', 'item_three',
'item_four', 'item_five']
数据类型
Python 支持四种数字类型:
- int:整数,如 1。
- bool:布尔值,如 True。
- float:浮点数,如 1.23、3E-2。
- complex:复数,如 1 + 2j。
- string:字符串,如 hello
可以使用sys.getsizeof()
函数查看对象的内存占用
1 | import sys |
注意事项:
- 整数运算时,除法
/
会返回浮点数,整除//
会返回整数。 - 可以使用
int()
(格式转换形式) 函数将其他类型转换为整数。
布尔型(bool)
布尔值只有两个取值:True 和 False
- 布尔值是整数的子类,True 相当于 1,False 相当于 0。
- 常用于条件判断和逻辑运算。(这玩意只能逻辑运算吧)注意事项:
1
2is_valid = True
is_empty = False
在逻辑运算中,and
、or
、not
是布尔运算的关键字。
非布尔值在条件判断中会被隐式转换为布尔值,例如 0、””、[] 会被视为 False,其他值被视为 True。**(注意输出的格式转换)**
浮点型(float)
浮点数是带有小数部分的数字,例如 1.23、-0.5、3E-2(科学计数法表示)。
- 浮点数的精度有限,可能存在精度丢失问题。
- 支持科学计数法表示,例如 3E-2 表示 0.03。
1
2
3a = 3.14
b = -0.001
c = 2.5e3 # 2500.0 - 浮点数运算时可能会出现精度问题,例如 0.1 + 0.2 的结果是 0.30000000000000004。
- 可以使用
round()
函数对浮点数进行四舍五入。
复数
复数由实部和虚部组成,形式为 a + bj
,其中a
是实部,b
是虚部,j
表示虚数单位。这玩意不是函数,也不是公式
- 可以使用
real
和imag
属性分别获取实部和虚部。注意事项:1
2
3
4a = 1 + 2j
b = 3.5 - 4.7j
print(a.real) # 输出实部:1.0
print(a.imag) # 输出虚部:2.0 - 复数的运算规则与数学中的复数运算一致。
- 复数不能直接比较大小。你告诉我咋比吗,你告诉我呀
字符串
字符串是由字符组成的序列,用单引号 '
、双引号"
或三引号 '''
、"""
表示。
多行字符串可以换行
- 字符串是
不可变
的,修改字符串会生成一个新的字符串。 - 支持索引和切片操作。
- 支持多种字符串操作,如拼接、重复、格式化等。
可以吧字符串理解成一个数组注意事项:1
2
3
4
5
6
7
8
9s1 = 'hello'
s2 = "world"
s3 = '''多行
字符串'''
s4 = "Python"
print(s1[0]) # 输出:h
print(s2[1:4]) # 输出:orl
print(s1 + s2) # 输出:helloworld
print(s4 * 2) # 输出:PythonPython - 字符串的索引从 0 开始,支持负索引(从右向左)。
- 切片操作
str[start:end:step]
中,start
包含,end
不包含。 - 使用
r
前缀可以创建原始字符串,避免转义字符生效,例如r"\n"
会直接输出\n
。 - 字符串格式化推荐使用
f-string(Python 3.6+)
,例如f"Hello, {name}"
。1
2
3
4str = '123456789'
print(str[0:-1]) # 输出第一个到倒数第二个字符
print(str[2:5]) # 输出第三到第五个字符
print(str * 2) # 输出字符串两次
空行
函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。
空行与代码缩进不同,空行并不是 Python 语法的一部分。书写时不插入空行,Python 解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。
记住:空行也是程序代码的一部分。
用户输入
使用input()
函数等待用户输入
1 | input("\n\n按下 enter 键后退出。") |
以上代码中 ,\n\n 在结果输出前会输出两个新的空行。一旦用户按下 enter 键时,程序将退出。
同一行多条语句
如果想要在同一行执行多个语句可以使用分号;
分隔多条语句:
1 | import sys; x = 'runoob'; sys.stdout.write(x + '\n') |
使用脚本执行以上代码,输出结果为:
1 | runoob |
使用交互式命令行执行,输出结果为:
1 | >>> import sys; x = 'runoob'; sys.stdout.write(x + '\n') |
此处的 7 表示字符数,runoob 有 6 个字符,\n 表示一个字符,加起来 7 个字符。
##代码组
缩进相同的语句构成代码组,通常用于 if
、while
、def
和 class
等复合语句。首行以关键字开始,以**冒号( : )**结束,该行之后的一行或多行代码构成代码组。
1 | if expression : |
输出
print
默认输出是换行的,如果要实现不换行需要在变量末尾加上 end="":
j接下来是例子
1 | #!/usr/bin/python3 |
import 与 from…import(模块导入)[很重要]
- 在** python **用
import
或者from...import
来导入相应的模块。 - 将整个模块(somemodule)导入,格式为:
import somemodule
- 从某个模块中导入某个函数,格式为:
from somemodule import somefunction
- 从某个模块中导入多个函数,格式为:
from somemodule import firstfunc, secondfunc, thirdfunc
- 将某个模块中的全部函数导入,格式为:
from somemodule import *
import sys #导入sys模块
print(sys.path)
"""
print ('命令行参数为:')
for i in sys.argv:
print (i)
"""
from sys import argv, path #导入 sys 模块的 argv,path 成员
print(path) # 因为已经导入path成员,所以此处引用时不需要加sys.path
命令行参数
使用 python -h
查看命令行参数帮助信息。在对应终端键入即可,例如
$ python -h
usage: python [option] … [-c cmd | -m mod | file | -] [arg] …
Options and arguments (and corresponding environment variables):
-c cmd : program passed in as string (terminates option list)
-d : debug output from parser (also PYTHONDEBUG=x)
-E : ignore environment variables (such as PYTHONPATH)
-h : print this help message and exit
[ etc. ]