1.基础语法-初识Python
众所周知,Python是一种相对其他语言来说,更容易简单易上手,下面将介绍Python语法的输入输出格式,以及各种变量定义方式等等。
下面示例:介绍了python使用示例:
上面的框框为我们日常编写代码的工作台,下面框框是Pycharm的控制台。
1.1 常量
顾名思义,不能改变的量。
示例:
其中 1,2,3都叫常量,1+2+3叫做表达式
python在进行整数除法不会进行截断,而是直接计算结果,符合正常思维
1.2 变量和类型
变量就是可以改变的量
有时为了节省代码量或者方便理解,我们需要一些变量来临时存储一些数据。
有如下问题:
给定四个分数, 67.5, 89.0, 12.9, 32.2 , 编写代码, 求这四个分数的方差.
PS: 方差的计算过程: 取每一项, 减去平均值, 计算平方, 再求和, 最后除以 (项数 - 1)
在这个代码中,我们需要先计算平均值,然后用变量保存起来。
变量的使用能够大大减少我们的编写难度和逻辑
1.2.1 变量定义
a=10
- 其中a为变量名
- =作用就是把右面的值,赋给变量a。
定理变量名规则:
(必须遵守)
- 变量名由数字字母下划线构成.
- 数字不能开头.
- 变量名不能和 “关键字” 重复.
- 变量名大小写敏感. num 和 Num 是两个不同的变量名.
(建议遵守)
- 变量名使用有描述性的单词来表示, 尽量表达出变量的作用.长一点没事,但是一定要表达清晰变量的含义。
- 建议使用 “驼峰命名法”. 形如 totalCount , personInfo 这种, 除了首个单词外, 剩余单词首字母大写。或者蛇形命名方式:total_count,person_info。
变量名是为了帮助人们更加容易看懂代码的含义,取一个很好的名子,也是不容易的.
1.2.2 使用变量
我们可以用下面的方法修改变量的值,如下示例:
1.2.3 变量类型
对于不同的变量,我们不仅仅要用数字来区分,同时也需要“类型”来区分。
整型
数据的范围是无穷的,根据表示数据的大小自动扩容。
a=10,10就是一个整型数据,用int来表示。
浮点数(小数)
python小数是双精度小数,相当于double类型
a=10.1,10.1就是小数,用float表示。
字符串
由一个个数字或字符串起来的串(类似羊肉串),整个串被当作字符串数据。
a ="hello Python"或者’hello Python’ ,用单引号双引号都可以,用str来表示。
len()可以用来求字符串长度,a+b可以将两个字符串加起来
可以用单双引号,甚至是三引号结合的方式来输出特定的字符串
布尔
布尔类型是一种特殊的类型,数值只有True(真)和False(假)两种,用bool表示
用于判断表达式的真假
使用示例:
其他类型
除了上述类型之外, Python 中还有 list, tuple, dict, 自定义类型 等等. 后续会继续补充.
- 类型决定了数据在内存中占据多大空间.
- 类型其实约定了能对这个变量做什么样的操作.
例如:+对于整型数据来说,是算数相加,对于字符串来说,就是拼接数据。
动态类型
可以根据数据类型动态的改变自己的类型
如下示例:可以看到变量a的类型由int变为str。
1.3 注释
注释就像说明书一样,可以帮注人们理解代码的含义。
要想让自己的代码被人看懂,就要学会写注释。
显然,有了注释之后,人们一眼便能知道这段代码的功能。
Python提供了两种注释风格
注释行,以#开头
#这是一行注释.
使用"“” 或者‘’‘来进行文本注释。
该方法可以注释好几行
如下示例两种注释方法:
1.4 输入和输出
print()为输出语句
使用方式:
inpute()为输入语句
使用方式1:
使用方式2:因为input是以字符串的格式接受的,不能直接进行算术运算。
改正:
类似的, 使用 float( ), bool( ), str( ) 等可以完成对应的类型转换.
1.5 运算符
1.5.1 算数运算符
+ - * / % ** // 这种进行算术运算的运算符, 称为 算术运算符
其中:'+‘加法,’-‘减法,’*‘乘法,’%‘取余,’**'乘方、
//为整除,/为正常除法。
如下示例:
1.5.2 关系运算符
< ,<= ,>, >= ,==, !=。
用来比较两个操作数之间的关系
示例1:
示例2:
直接使用 == 或者 != 即可对字符串内容判定相等. (这一点和 C / Java 不同).
示例3:
对于浮点数一般不能用==来判断是否相等,只需要在误差允许的范围内即可
print(-0.000001 < (a - b) < 0.000001)
1.5.3 逻辑运算符
与 and
或 or
非
a = 10 b = 20 c = 30 print(a < b and b < c) print(a < b and b > c) print(a > b or b > c) print(a < b or b > c) print(not a < b) print(not a > b)
结果:
a < b and b < c 这个操作等价于 a < b < c . 这个设定和大部分编程语言都不相同.
短路求值:
- 对于 and, 如果左侧表达式为 False, 则整体一定为 False, 右侧表达式不再执行.
- 对于 or, 如果左侧表达式为 True, 则整体一定为 True, 右侧表达式不再执行.
print(10 > 20 and 10 / 0 == 1) print(10 < 20 or 10 / 0 == 1)
上述代码没有抛出异常, 说明右侧的除以 0 操作没有真正执行.
1.5.4 赋值运算符
链式赋值:
a = b = 10 ,10先赋给b,b再赋给a
多元赋值:
a, b = 10, 20,10赋给a,20赋给b
基于多元赋值的交换数字:
正常写法:
a = 10 b = 20 tmp = a a = b b = tmp
Python特有写法:
a = 10 b = 20 a, b = b, a
复合赋值运算符:
- += ,-+,*=,/=,%=。
- 但是没有a++,++a这样的运算!