Python基础语法

1.常见类型

  • 1.1.数字
  • 1.2.字符串
  • 1.3.列表
  • 1.4.字面常量
  • 1.5.布尔类型
  • 1.6.常量

2.运算符

  • 2.1.算术运算符
  • 2.2.比较运算符
  • 2.3.赋值运算符
  • 2.4.位运算符
  • 2.5.逻辑运算符
  • 2.6.关键字in(成员运算符)和is(身份运算符)

Python的标识符

1.第一个字符必须是字母表中字母或下划线 _ 。
2.标识符的其他的部分由字母、数字和下划线组成。
3.标识符对大小写敏感。

注释

Python中单行注释以 # 开头,实例如下:
print("Hello,Python!") #第一个注释
执行以上代码,输出结果为:

Hello,Python!

多行注释可以用多个 # 号,还有"'和“"""”。

行与缩进

python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {} 。

缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。

if True:
    print ("True")
else:
    print ("False")

以下代码最后一行语句缩进数的空格数不一致,会导致运行错误:

if True:
    print ("Answer")
    print ("True")
else:
    print ("Answer")
  print ("False")    # 缩进不一致,会导致运行错误

输出结果如下:

File "test.py", line 6
    print ("False")    # 缩进不一致,会导致运行错误
                                      ^
IndentationError: unindent does not match any outer indentation level

多行语句

Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠()来实现多行语句。

total = item_one + \
        item_two + \
        item_three

在 [], {}, 或 () 中的多行语句,不需要使用反斜杠(),例如:

total = ['item_one', 'item_two', 'item_three',
        'item_four', 'item_five']

数字

“/”永远返回一个浮点类型的数。想返回一个整数类型的结果,使用“//”操作符(“//”只会去除小数点后的数字,并不会进行四舍五入)。想要获取两数相除后的余数可以使用“%”操作符。

7 / 3

输出:

2.33333333
7 // 3

输出:

2

如果指数计算方式,使用“**”操作符来计算指数。

5 ** 2

输出:

25

开发人员可以使用“j”或者“J”来定义复数的虚部(例如:4 + 3j)。

字符串

可以使用“ " ” 或 “ " " ”代表字符串,也可以“\”操作符对特殊字符定义。

'I\'m fine'

输出:

"I'm fine"

不想字符被“\”转义,在字符串引号前加上“r”。

print("C:\windows\name")

输出:

C:\windows
ame
print(r"C:\windows\name")
C:\windows\name

如果表示多行字符串,可以使用"""..."""或者'''...'''三个单引号把字符串括起来。每行结尾都会被自动加上一个换行符,不想输出换行符,在每行的最后加入“\”来避免输出换行符。

print("""\
How are you?
I'm fine.
""")

输出(“\” 后没有换行):

How are you?
I'm fine.

Python可以使用“+”来连接两个字符串,使用“*”来重复字符串。

3 * 'am' + 'fine'

输出:

'amamamfine'

Python可以使用“索引”的方式获取到字符串中某个位置的字符(字符就是长度为1的字符串)。

world  = 'Python'
world[0]

输出:

'p'

如果索引是负数,那么就会从字符串的右边开始往左计算位置(-0和0都表示第一个字符串,倒序从下标-1开始)。

world  = 'Python'
world[-1]

输出:

'n'
world[-6]

输出:

'p'

如果想获取字符串中的一段字符串,使用“切片”操作。

world  = 'Python'
world[0:2]

输出:

'py'
world[2:5]

输出:

'tho'

如果省略方括号中“:”左边的数字,Python就会认为我们要获取从0开始的字符串。如果省略方括号中“:”右边的数字,Python会认为我们要获取到最后一个字符。

world = 'Python'
world[:2]

输出:

'Py'
world[2:] + world[:2]

输出:

'thonPy'

在Python中,字符串是不能被改变的,无论是索引还是切片都只能获取字符串而不能被赋值。
Python有个内置函数“len()”,可以返回字符串的长度。

len('word')

输出:

4

这里只是Python字符串的简单操作。

列表(List)

squares = [1,1,2,3,4,5]
squares

输出:

[1,1,2,3,4,5]

列表也能像字符串一样,使用索引和切片的方式来获取部分元素。

squares = [1,1,2,3,4,5]
squares[0]

输出:

1
squares[-1]

输出:

5
squares[-3:]

输出:

[3,4,5]

布尔类型(False和True)

算术运算符

操作符描述实例
+加 - 两个对象相加a + b
-减 - 得到负数或是一个数减去另一个数a - b
*乘 - 两个数相乘或是返回一个被重复若干次的字符串a * b
/除 - x 除以 yb / a
%取模 - 返回除法的余数b % a
**幂 - 返回x的y次幂a**b
//取整除 - 向下取接近商的整数a//b

比较运算符

操作符描述实例
==等于 - 比较对象是否相等a == b
!=不等于 - 比较两个对象是否不相等a != b
>大于 - 返回x是否大于ya > b
<小于 - 返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。a < b
>=大于等于 - 返回x是否大于等于y。a >= b
<=小于等于 - 返回x是否小于等于y。a <= b

赋值运算符

操作符描述实例
=简单的赋值运算符c = a + b 将 a + b 的运算结果赋值为 c
+=加法赋值运算符c += a等效于 c = c + a
-=减法赋值运算符c -= a 等效于 c = c - a
*=乘法赋值运算符c *= a 等效于 c = c * a
/=除法赋值运算符c /= a 等效于 c = c / a
%=取模赋值运算符c %= a 等效于 c = c % a
**=幂赋值运算符c **= a 等效于 c = c ** a
//=取整除赋值运算符c //= a 等效于 c = c // a
:=海象运算符,可在表达式内部为变量赋值。Python3.8 版本新增运算符。赋值表达式可以避免调用 len() 两次:
if (n := len(a)) > 10:
print(f"List is too long ({n} elements, expected <= 10)")|

位运算符

操作符描述实例
&按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0(a & b) 输出结果 12 ,二进制解释: 0000 1100
I按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。(a I b) 输出结果 61 ,二进制解释: 0011 1101
^按位异或运算符:当两对应的二进位相异时,结果为1(a ^ b) 输出结果 49 ,二进制解释: 0011 0001
~按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1。~x 类似于 -x-1 (~a ) 输出结果 -61 ,二进制解释: 1100 0011, 在一个有符号二进制数的补码形式。
<<左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。a << 2 输出结果 240 ,二进制解释: 1111 0000
>>右移动运算符:把">>“左边的运算数的各二进位全部右移若干位,”>>"右边的数指定移动的位数a >> 2 输出结果 15 ,二进制解释: 0000 1111

逻辑运算符

操作符描述实例
and布尔"与" - 如果 x 为 False,x and y 返回 x 的值,否则返回 y 的计算值。a and b
or布尔"或" - 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。a or b
not布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。not(a and b)

成员运算符

操作符描述实例
in如果在指定的序列中找到值返回 True,否则返回 False。x 在 y 序列中 , 如果 x 在 y 序列中返回 True
not in如果在指定的序列中没有找到值返回 True,否则返回 False。x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True

身份运算符

操作符描述实例
isis 是判断两个标识符是不是引用自一个对象x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False
is notis not 是判断两个标识符是不是引用自不同对象x is not y , 类似 id(a) != id(b)。如果引用的不是同一个对象则返回结果 True,否则返回 False。

注: id() 函数用于获取对象内存地址。
is 与 == 区别:
is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。

运算符优先级

操作符描述
**指数 (最高优先级)
~ + -按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % //乘,除,求余数和取整除
+ -加法减法
>> <<右移,左移运算符
&位 ‘AND’
^ I位运算符
<= < > >=比较运算符
== !=等于运算符
= %= /= //= -= += *= **=赋值运算符
is is not身份运算符
in not in成员运算符
not and or逻辑运算符
【电力系统】单机无穷大电力系统短路故障暂态稳定Simulink仿真(带说明文档)内容概要:本文档围绕“单机无穷大电力系统短路故障暂态稳定Simulink仿真”展开,提供了完整的仿真模型与说明文档,重点研究电力系统在发生短路故障后的暂态稳定性问题。通过Simulink搭建单机无穷大系统模型,模拟不同类型的短路故障(如三相短路),分析系统在故障期间及切除后的动态响应,包括发电机转子角度、转速、电压和功率等关键参数的变化,进而评估系统的暂态稳定能力。该仿真有助于理解电力系统稳定性机理,掌握暂态过程分析方法。; 适合人群:电气工程及相关专业的本科生、研究生,以及从事电力系统分析、运行与控制工作的科研人员和工程师。; 使用场景及目标:①学习电力系统暂态稳定的基本概念与分析方法;②掌握利用Simulink进行电力系统建模与仿真的技能;③研究短路故障对系统稳定性的影响及提高稳定性的措施(如故障清除时间优化);④辅助课程设计、毕业设计或科研项目中的系统仿真验证。; 阅读建议:建议结合电力系统稳定性理论知识进行学习,先理解仿真模型各模块的功能与参数设置,再运行仿真并仔细分析输出结果,尝试改变故障类型或系统参数以观察其对稳定性的影响,从而深化对暂态稳定问题的理解。
本研究聚焦于运用MATLAB平台,将支持向量机(SVM)应用于数据预测任务,并引入粒子群优化(PSO)算法对模型的关键参数进行自动调优。该研究属于机器学习领域的典型实践,其核心在于利用SVM构建分类模型,同时借助PSO的全局搜索能力,高效确定SVM的最优超参数配置,从而显著增强模型的整体预测效能。 支持向量机作为一种经典的监督学习方法,其基本原理是通过在高维特征空间中构造一个具有最大间隔的决策边界,以实现对样本数据的分类或回归分析。该算法擅长处理小规模样本集、非线性关系以及高维度特征识别问题,其有效性源于通过核函数将原始数据映射至更高维的空间,使得原本复杂的分类问题变得线性可分。 粒子群优化算法是一种模拟鸟群社会行为的群体智能优化技术。在该算法框架下,每个潜在解被视作一个“粒子”,粒子群在解空间中协同搜索,通过不断迭代更新自身速度与位置,并参考个体历史最优解和群体全局最优解的信息,逐步逼近问题的最优解。在本应用中,PSO被专门用于搜寻SVM中影响模型性能的两个关键参数——正则化参数C与核函数参数γ的最优组合。 项目所提供的实现代码涵盖了从数据加载、预处理(如标准化处理)、基础SVM模型构建到PSO优化流程的完整步骤。优化过程会针对不同的核函数(例如线性核、多项式核及径向基函数核等)进行参数寻优,并系统评估优化前后模型性能的差异。性能对比通常基于准确率、精确率、召回率及F1分数等多项分类指标展开,从而定量验证PSO算法在提升SVM模型分类能力方面的实际效果。 本研究通过一个具体的MATLAB实现案例,旨在演示如何将全局优化算法与机器学习模型相结合,以解决模型参数选择这一关键问题。通过此实践,研究者不仅能够深入理解SVM的工作原理,还能掌握利用智能优化技术提升模型泛化性能的有效方法,这对于机器学习在实际问题中的应用具有重要的参考价值。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值