Python学习笔记1

安装

进入 www.python.org/downloads/w... 下载稳定版

配置环境变量

// cmd path=%path%;C:\Python【后面是安装路径】

或者在环境变量中 Path 下增加 python 的安装地址,最后的效果一致。

cmd中输入 python 给出相应的内容证明安装配置成功。

开发

推荐使用 PyCharm www.jetbrains.com/pycharm/dow...

或者使用 VsCode 安装 Python 插件

解释器

在CMD中使用 python 启动解释器。

dart 复制代码
$ python3 Python 3.4.0 (default, Apr 11 2014, 13:05:11) [GCC 4.8.2] on linux Type "help", "copyright", "credits" or "license" for more information. >>>

也可以使用 py 脚本。

创建 hello.py 文件,输入 print ("Hello, Python!");

复制代码
python hello.py

即可获得 python 脚本执行结果。

语法

标识符

标识符必须是字母、数字、下划线组合,第一个字符不能是数字。

标识符大小写敏感,不能使用保留关键字。

变量的命名推荐使用下划线进行分隔,类命名使用大驼峰,常量命名使用全大写。

私有变量使用下划线 + 小写的形式,_interval

特殊方法使用前后双下划线的形式,__init__

注释

Python的注释可以使用 #'''""" 三种形式。

推荐使用 # 进行注释。

通常只有文件注释或大段文字注释采用 """ 的形式。

代码块

Python 和其他语言比较明显的区别是使用 缩进 来表示代码块。

所以一定要使用 Tab 缩进,四个制表位。

多行语句

Python中非常长的代码可以使用 反斜杠 \ 跨行连起来。

大部分情况下不推荐这么写。

变量赋值

Python使用 = 赋值。

可以使用 a = b = c = 1 的形式进行连续赋值。

运算符

运算符 描述 实例
+ 加 - 两个对象相加 a + b 输出结果 31
- 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -11
* 乘 - 两个数相乘或是返回一个被重复若干次的字符串 a * b 输出结果 210
/ 除 - x 除以 y b / a 输出结果 2.1
% 取余 - 返回除法的余数 b % a 输出结果 1
** 幂 - 返回x的y次幂 a**b 为10的21次方
// 取整除 - 往小的方向取整数【先除,然后舍小数位】 >>> 9//2 4 >>> -9//2 -5

数据类型

Python 在创建变量时不需要显式声明数据类型!!!

py 复制代码
a = 1 # 整数 name = "Alice" # 字符串 pi = 3.14 # 浮点数

Python 会自动根据赋给变量的值来推断其类型。这种机制叫做 动态类型(Dynamic Typing)

在Python中可以用 type() 方法查看变量类型。

此外还可以用 isinstance() 来判断。【最推荐】

区别在于:

  • type() 不会认为子类是一种父类类型。
  • isinstance() 会认为子类是一种父类类型。
bash 复制代码
>>> class A: ... pass ... 
>>> class B(A): ... pass ... 
>>> isinstance(A(), A) 
True 
>>> type(A()) == A 
True 
>>> isinstance(B(), A) 
True 
>>> type(B()) == A 
False

注意:从 Python 3.5+ 开始,支持类型提示(Type Hints),用于提高代码可读性。

py 复制代码
def greet(name: str) -> str: 
    return "Hello, " + name 
age: int = 25

常见的数据类型有:

  • Number(数字):支持 int、float、bool、complex(复数)
  • String(字符串):用单引号 ' 或双引号 " 括起来,同时使用反斜杠 \ 转义特殊字符。
  • bool(布尔类型):True 和 False。
  • List(列表):列表中元素的类型可以不相同。列表可以通过 变量[头下标:尾下标] 的方式截取。【带头不带尾】
  • Tuple(元组):元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。
  • Set(集合):集合是一种无序、可变的数据类型,用于存储唯一的元素。使用大括号 {} 表示,元素之间用逗号 , 分隔。
  • Dictionary(字典):字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。键(key)必须使用不可变类型。在同一个字典中,键(key)必须是唯一的。

Python3 的六个标准数据类型中:

  • 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
  • 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。

注意:Python3 中,bool 是 int 的子类,True 和 False 可以和数字相加, True==1、False==0 会返回 True,但可以通过 is 来判断类型。

注意:元组中保存的是对象的引用(即内存地址),而不是对象本身。元组的"不可变"是指:元组内部的引用不能被修改(不能替换、增删元素),但如果某个引用指向的是一个可变对象(如 list、dict、set),那么这个对象自身的内容是可以改变的。

注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

注意:列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。【这里所谓的"有序"是指元素的位置固定,按插入顺序排列。[1, 2, 3] 中,1 永远在索引 0,2 在 1,3 在 2。你可以通过位置(索引) 精确访问或修改某个元素。】。

注意:从 Python 3.7 开始,官方规定:dict 保持插入顺序(insertion order)。即 3.7+ 认为List和Dict均为有序的集合。

数据类型转换

Python存在隐式类型转换,比如可以从 int 转换为 float。

py 复制代码
num_int = 123 
num_flo = 1.23 
num_new = num_int + num_flo # num_new float类型

Python也可以使用显式类型转换。

函数 描述
int(x [,base]) 将x转换为一个整数
float(x) 将x转换到一个浮点数
complex(real [,imag]) 创建一个复数
str(x) 将对象 x 转换为字符串
repr(x) 将对象 x 转换为表达式字符串
eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s) 将序列 s 转换为一个元组
list(s) 将序列 s 转换为一个列表
set(s) 转换为可变集合
dict(d) 创建一个字典。d 必须是一个 (key, value)元组序列。
frozenset(s) 转换为不可变集合
chr(x) 将一个整数转换为一个字符
ord(x) 将一个字符转换为它的整数值
hex(x) 将一个整数转换为一个十六进制字符串
oct(x) 将一个整数转换为一个八进制字符串

条件控制

Python支持使用 if else 来进行条件判断,支持 elif 进行连续判断。

py 复制代码
if a > 1: 
    print('a大于1') 
elif a < 1: 
    print('a小于1') 
else: 
    print('a等于1')

Python中不存在 switch 进行条件判断,所以 Python3.10增加了 match...case

py 复制代码
match status: 
    case 400: 
        return "Bad request" 
    case 404: 
        return "Not found" 
    case 418: 
        return "I'm a teapot" 
    case _: 
        return "Something's wrong with the internet"

注意case _default

循环

最常见的是使用 for 循环,for 循环存在一个特殊的 else,即循环完成后执行。

py 复制代码
sites = ["Baidu", "Google","Runoob","Taobao"] 
for site in sites: 
    print(site) 

# for...else 
for x in range(6): 
    print(x) 
else: 
    print("Finally finished!")

while 用于不确定循环次数。也存在一个 else 用于循环完成后执行。

py 复制代码
count = 0 
while count < 5: 
    print (count, " 小于 5") 
    count = count + 1 
else: 
    print (count, " 大于或等于 5")

python的循环中也存在 breakcontinue

相关推荐
Salt_07284 小时前
DAY 19 数组的常见操作和形状
人工智能·python·机器学习
无心水4 小时前
【Python实战进阶】2、Jupyter Notebook终极指南:为什么说不会Jupyter就等于不会Python?
python·jupyter·信息可视化·binder·google colab·python实战进阶·python工程化实战进阶
上班日常摸鱼5 小时前
Shell脚本基础教程:变量、条件判断、循环、函数实战(附案例)
python
无心水5 小时前
【Python实战进阶】5、Python字符串终极指南:从基础到高性能处理的完整秘籍
开发语言·网络·python·字符串·unicode·python实战进阶·python工业化实战进阶
2301_807583236 小时前
了解python,并编写第一个程序,常见的bug
linux·python
小白学大数据6 小时前
构建混合爬虫:何时使用Requests,何时切换至Selenium处理请求头?
爬虫·python·selenium·测试工具
2401_827560206 小时前
【Python脚本系列】PyAudio+librosa+dtw库录制、识别音频并实现点击(四)
python·语音识别
BBB努力学习程序设计6 小时前
Python自动化脚本:告别重复劳动
python·pycharm
BBB努力学习程序设计6 小时前
Python函数式编程:优雅的代码艺术
python·pycharm