本章内容
开始介绍基础的python语法, 用简短精炼的语言概括主要的内容, 建议有C语言基础的且对python感兴趣的观看, 也可以作为复习资料观看。 新手阅读时不妨跟着写一写加深印象!
部分可能为了简短而一笔概况,不明白的可以随时百度或留言咨询
python下载
- 进入python官网
- 找到下面的download, 点击Python 3.10.0
3. 翻到最下面, 点击 Windows installer 下载, 自行选择64位或者32位
4. 安装初始页面第一个是默认安装, 第二个是自己选择安装位置安装, 记得勾选上最下面的 add python3.10 to path
下次这个东西单独发吧不占位置了
print 函数
print(变量名)
print(变量)
print("hello world") # hello world
myString = "hi";
print(myString); # hi
单行注释
单行注释以#开始
# 这里是注释
print("hi"); # 这里是注释
续行符
由于一行过长而需要续行符
能够判断出逻辑关系的则无需换行符(两种情况)
- 小括号,中括号,花括号的内部都可以多上书写
- 三引号包括下的字符串
color1 = "red";
color2 = "blue";
if color1=="blue" and\
color2 == "red":
print("yes");
else:
print("no");
一行多语句
一行里写多个语句
x = 1; y = 2; print(x+y);
一般不这样写
不便于阅读
块
同样的缩进则为一个块, 没有{}块
标识符
- 首字母为下划线或字母
- 其余可以是字母,下划线,数字
- 大小写敏感, 即pi和Pi是不同的标识符
约定俗成:
- 全大写的被认为是常量
- 尽量不用下划线开头, 被认为是私有变量
- 驼峰命名法
- 见名识意
关键字
如同if, or, else等不可以作为标识符
避免引起与语言本身的冲突
表达式
运算符连接变量与常量
注意优先级
- 算数运算符, 如+, -, *等
- 位运算符, 如取反~, 与&等
- 比较运算符, 如>, <, ==等
- 逻辑运算符, 如not, and, or
注意 = 号是赋值符号
赋值语句
以引用实现赋值
相当于一个变量
不需要声明类型
每个变量都有一个id函数, 返回对象的唯一标识符
>>> a = 500
>>> b = a
>>> c = 500
>>> id(a)
2804352670064
>>> id(b)
2804352670064
>>> id(c)
2804352669904
// 这里b与c引用的是同一个500
// 而c引用的是另一个500
>>> a = 1000
>>> b = 1000
>>> id(a)
2804352670224
>>> id(b)
2804352670256
// 这样可见, 例1中的b其实就是对a的一个引用
>>> a = 10
>>> b = 10
>>> id(a)
2804351631888
>>> id(b)
2804351631888
>>> a = 256
>>> b = 256
>>> id(a)
2804351639760
>>> id(b)
2804351639760
>>> a = 257
>>> b = 257
>>> id(a)
2804352670224
>>> id(b)
2804352670320
// 按道理上面三次a与b的id都应该不同
// 但前两个都不同, 而第三个却又相同了
// 为什么会出现相同的情况呢?
// 因为某些数比较常用
// python就保存下来了
// 以后用到这些数直接引用保存了的,
// 这样可以提高速度
// 所以10和256时, a与b的id都相同,
// 但257时就不同了, 因为python只保存了-5~256
赋值
与c类似
元组赋值
x = 1
y = 2
x,y = y,x
print((x,y)) // (2,1)
这里的(x,y)就是个元组
这里的赋值过程类似于js的解构赋值
x,y = y,x
相当于先将y,x打包成一个元组(2,1)并赋值给一个临时变量temp,
然后结构为2,1后分别赋值给x,y
语句
完整执行一个任务的一行逻辑代码
例如一个赋值语句
整型
与C类似
但长整型与整型合并
具体位数与操作系统有关
其中一位表示正负, 剩下的位数表示大小
=/-(2^(n-1)), n为操作系统位数, 如64位操作系统
布尔型
仅有两个值: True, False
本质是True用1存, False用0存, 所以说是整型的子类
浮点型
在python中叫float
可以用类似科学计数法表示
复数型
即 i^2 = -1
则i是虚数
实数加虚数即为复数
如 a + bi, 其中a,b为实数, a,b可以为9
python中使用real取得a, imag返回b
使用conjugate()获得其共轭复数
由上面三句话可以得出, real与imag应该是属性
而conjugate为函数名
// 注意在python中使用j表示虚数单位, 上面的i只是说明什么是虚数
>>> a = 1+10j
>>> a.imag
10.0
>>> a.real
1.0
>>> a.conjugate()
(1-10j)
>>>
在python中为complex
字符串表示
单引号’’
双引号""
三引号(三个单引号)’’’ ‘’’
类似于js的``````(三个反引号)
映射类型(字典)
python唯一的映射类型为字典
类似于json(键值对)
d = {key_string : value_any,…}
d[key_string];
注意上述的key_string必须是一个字符串
value_any则为任意(any)类型
算数运算
特殊的
乘方: **
整除: //
多了个整除
取余为整除后得余数
而整除的结果就是//运算后得到的结果
109整除10 等于 10 余 9
也就是说109//10 = 10
109%10 = 9
注意 -32 = -(32) = -9
(-3)**2=0
要注意运算优先级
比较运算
数值按值大小比较
字符串按ASCII码值大小比较
注意
3<4<5
这种形式
相当于: 3<4 and 4<5
字符运算符
原始字符串操作符(r/R)
可以用于一些不希望转义字符起作用的地方
r’something’
因为字符串中可能出现如\n这样的存在
而\n被理解为换行, 如果是路径"\note\math_note"这样的存在,
则可能无法正确解析,
此时可以使用r"\note\math_note", 这样就不会使转义字符起作用
或者使用两个\ (两个\会被转义为\ )
函数
内建函数
可以直接使用
-
数值型内建函数
abs()
bool()
pow()
float()
chr()
…等等 -
实用函数
input()
open()
help()
等等
使用dir(builtins)查看python当中的异常名,属性名, 以及内建函数名
使用help(functionName)如help(abs), 查看函数帮助
round(): 四舍五入
标准库函数
python标准规定要支持的函数
导入模块即可使用
第三方库
安装第三方的库后再导入使用
用户自定义函数
用户自己定义的函数
模块
一个完整的python文件即是一个模块
例如math.py, math即为一个模块, 即math模块
使用import导入模块
# 导入单个模块
import moduleName
# 导入多个模块
# import moduleName1, moduleName2,...
# 导入某模块的属性
# import moduleElement from moduleNmae
库
一组具有相关功能的模块的集合
就是比如很多模块都是用来计算的, 那就统称为计算库
通常与模块’混为一谈’
包(package)
一个有层次的文件目录结构
定义了一个由模块(库)和子包组成的python应用程序执行环境
例如
package1/
package1_1/
x = 1
则package1是一个包,
package1_1是package1的一个子包
package1.package1_1.x = 1