阅读:383
Python 语言与 Perl,C 和 Java 等语言有许多相似之处。但是,也存在一些差异。
本文我们将来学习 Python 的基础语法、变量和相关运算,让你快速学会 Python 编程。
1.Python 标识符
在写程序时经常要用到(标识符)变量,那么变量有什么作用呢?
保存表达式运算的结果至内存,方便复用或更改
若无变量而需复用表达式运算的结果只能重新运算,耗时较
1.1标识符(变量)怎么表示呢
变量取名的讲究有很多,具体如下:
1.变量名应做到见名知义
2.在 Python 里,标识符由字母、数字、下划线组成。
3.在 Python 中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。
4.Python 中的标识符是区分大小写的。
5.变量名中有多个单词时有两种方式表示
首单词小写,后面单词的首字母大写
单词间使用下划线分隔(官方推荐)
6.变量名只能由下划线、数字、字母组成,不能是空格或特殊字符(#?<.,$¥!~@*&)
7.Python 可以同一行显示多条语句,方法是用分号 ;
1.2 Python关键字
这些关键字,是不能被当做常数,或者其它变量(标识符)来用的
1.3变量赋值
[root@localhost ~]# python3.7
Python 3.7.3 (default, May 25 2021, 17:59:49)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> name="hbs" #定义一个变量name,值为hbs
>>> print(name) #打印name的值
hbs
>>> name2='lan'
>>> print(name2)
lan
>>>
>>> a=1;b=2
>>> c=a+b
>>> print(c)
3
>>> id(name2) #查看name2变量值的存放位置
139636681530984
>>>
1.4 Python 字符串
字符串或串(String)是由数字、字母、下划线组成的一串字符。
python的字串列表有2种取值顺序:
- 从左到右索引默认0开始的,最大范围是字符串长度少1
- 从右到左索引默认-1开始的,最大范围是字符串开头
加号(+)是字符串连接运算符,星号(*)是重复操作
2.首行缩进
Python 的代码块不使用大括号 {} 来控制类,函数以及其他逻辑判断。
缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。
用缩进 来写模块(缩进4个空格为例)
如图:
2.1报错总结
1.IndentationError: unindent does not match any outer indentation level错误表明,你使用的缩进方式不一致,有的是 tab 键缩进,有的是空格缩进,改为一致即可。
2.如果是 IndentationError: unexpected indent 错误, 则 python 编译器是在告诉你"Hi,老兄,你的文件里格式不对了,可能是tab和空格没对齐的问题",所有 python 对格式要求非常严格。
注意:
因此,在 Python 的代码块中必须使用相同数目的行首缩进空格数。
建议你在每个缩进层次使用 单个制表符 或 两个空格 或 四个空格 , 切记不能混用
3.Python 多行语句
Python语句中一般以新行作为语句的结束符。
但是我们可以使用斜杠( \)将一行的语句分为多行显示,
如图
4.Python 引号
Python 可以使用引号( ’ )、双引号( " )、三引号( ‘’’ 或 “”" ) 来表示字符串,引号的开始与结束必须是相同类型的。
如图
5.Python 注释
python中单行注释采用 # 开头。
如图:
Python 输入/输出
输入密码时,若想使其不可见,需用到getpass模块中的getpass方法
如图:
注意:input接收的所有数据都是字符串,即使你输入的是数字,依然会被当成字符串来处理
1.算术运算:
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 - 两个对象相加 | 1 + 1输出结果2 |
- | 减 - 得到负数或一个数减去另一个数 | -10输出结果-10 5 - 1输出结果4 |
* | 乘 - 两个数相乘 或返回一个被重复若干次的字符串 | 2 * 3输出结果6 ’abc’ * 2输出结果abcabc |
/ | 除 - x除以y | 5 / 2输出结果2.5 |
// | 整除 - 返回商的整数部分 | 5 // 2输出结果2 5.0 // 2输出结果2.0 |
% | 取模 - 返回除法的余数 | 5 % 2输出结果1 |
** | 幂 - 返回x的y次幂 | 2 ** 3为2的3次方,输出结果8 |
2.比较运算:
运算符 | 描述 | 实例 |
---|---|---|
== | 等于 - 比较对象是否相等 | 1 == 2返回False |
!= | 不等于 - 比较两个对象是否不相等 | 1 != 2返回True |
<> | 不等于 - 比较两个对象是否不相等 | 1 <> 2返回True |
> | 大于 - 返回x是否大于y | 1 > 2返回False |
< | 小于 - 返回x是否小于y | 1 < 2返回True |
>= | 大于等于 - 返回x是否大于等于y | 1 >= 2返回False |
<= | 小于等于 - 返回x是否小于等于y | 1 <= 2返回True |
注释:所有比较运算符返回1表示真,返回0表示假。这分别与特殊变量True和False等价。True和False的首字母是大写的。
3.赋值运算:
运算符 | 描述 | 实例 |
---|---|---|
= | 简单的赋值运算符 | a = 1将1赋值为a变量 |
+= | 加法赋值运算符 | a += 1等效于a = a + 1 |
-= | 减法赋值运算符 | a -= 1等效于a = a - 1 |
*= | 乘法赋值运算符 | a *= 2等效于a = a * 2 |
/= | 除法赋值运算符 | a /= 2等效于a = a / 2 |
//= | 整除赋值运算符 | a //= 2等效于a = a // 2 |
%= | 取模赋值运算符 | a %= 2等效于a = a % 2 |
**= | 幂赋值运算符 | a **= 2等效于a = a ** 2 |
4.赋值运算:
运算符 | 描述 | 实例 |
---|---|---|
= | 简单的赋值运算符 | a = 1将1赋值为a变量 |
+= | 加法赋值运算符 | a += 1等效于a = a + 1 |
-= | 减法赋值运算符 | a -= 1等效于a = a - 1 |
*= | 乘法赋值运算符 | a *= 2等效于a = a * 2 |
/= | 除法赋值运算符 | a /= 2等效于a = a / 2 |
//= | 整除赋值运算符 | a //= 2等效于a = a // 2 |
%= | 取模赋值运算符 | a %= 2等效于a = a % 2 |
**= | 幂赋值运算符 | a **= 2等效于a = a ** 2 |
5.逻辑运算:
运算符 | 描述 | 实例 |
---|---|---|
and | 布尔“与” - 多个条件均为True时结果才为True 如果x为False,x and y返回False 否则返回y的计算值 | a and b返回True |
or | 布尔”或” - 多个条件中任意一个结果为True结果亦为True 如果x为True,它返回True 否则返回y的计算值 | a or b返回True |
not | 布尔”非” - 如果x为True,返回False 如果x为False,返回True | not a and b返回False |
6.短路原则
短路原则
and
当条件1为假时,条件2不作判断
当条件1为真时才去判断条件2
or
当条件1为真时,条件2不作判断
当条件1为假时才去判断条件2
7.成员运算:
运算符 | 描述 | 实例 |
---|---|---|
in | 若在指定序列中 找到值返回True 否则返回False | x in y,若x在y序列中返回True |
not in | 若在指定序列中 未找到值返回True 否则返回False | x not in y,若x不在y序列中返回True |
8.身份运算:
运算符 | 描述 | 实例 |
---|---|---|
is | is是判断两个标识符 是否引用同一对象 | x is y 若id(x)等于id(y)结果返回True 否则返回False |
is not | is not是判断两个标识符 是否引用不同对象 | x is not y 若id(x)不等于id(y)结果返回True 否则返回False |
9.位运算:
运算符 | 描述 | 实例 |
---|---|---|
& | 按位与运算符 | a & b输出结果12,二进制:0000 1100 |
| | 按位或运算符 | a | b输出结果61,二进制:0011 1101 |
^ | 按位异或运算 | a ^ b输出结果49,二进制:0011 0001 |
~ | 按位取反运算 | ~ a输出结果-61,二进制:1100 0011 |
<< | 左移动运算符 | a << 2输出结果240,二进制:1111 0000 |
>> | 右移动运算符 | a >> 2输出结果15,二进制:0000 1111 |
优先级运算符
运算符 | 描述 |
---|---|
** | 指数(最高优先级) |
~± | 按位翻转,一元加号和减号(最后两个的方法名为+@和-@) |
*/%// | 乘、除、取模和整除 |
± | 加法、减法 |
>><< | 右移、左移运算符 |
& | 位 and |
^ | |
<=<>>= | 比较运算符 |
<>==!= | 等于运算符 |
=%=/=//=-=+=*=**= | 赋值运算符 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not or and | 逻辑运算符 |
1.Python条件语句
Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块。
if 语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。
当判断条件为多个值时,可以使用以下形式
if 判断条件1: 执行语句1…… elif 判断条件2: 执行语句2…… elif 判断条件3: 执行语句3…… else: 执行语句4……
1.1用户登录脚本
如图:
1.2成绩判断脚本
如图:
2.Python for 循环语句
循环里面需要注意的是continue和break的区别:
- continue 继续本次循环,直接进行下一轮循环
- break 直接退出循环。不在循环
for循环 和else
当for循环正常结束后会执行else段的代码
若for循环非正常结束则不会执行else段代码
2.1最简单的循环
#!/usr/bin/env python3.7
#_*_coding:utf-8_*_
for i in range(10):
print("loop:", i )
# 最简单的for循环10次
打印10以内的数字,但是遇到小于5的循环次数就跳过,直接进入下一轮循环
如图:
打印10以内的数字,但是遇到大于5的循环次数就中止,直接退出循环
如图:
for 循环+else
for循环 和else
当for循环正常结束后会执行else段的代码
若for循环非正常结束则不会执行else段代码
如图:
3.Python While 循环语句
Python 提供了 for 循环和 while 循环(在 Python 中没有 do…while 循环):
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
实现让用户不断的猜数字,但只给最多3次机会,再猜不对就退出游戏
如图:
不限制猜的次数?要猜的数字为一个随机数?
如图:
写代码时,需要 统一化输出格式进行,所以今天做了一个总结
1.整数的输出 %d
2.浮点数的输出 %f
3.字符串输出 %s
4.二进制 %b
5.科学计数法 %e(仅适用数字,还有%E)
6.八进制输出 %o
7.十六进制输出 %x(小/大写,无符号整数)
8.
str.format()
,它通过{}
操作符和:
辅助指令来代替%
操作符。9.在字符串中可以使用
{}
作为格式化操作符
1.format方法
1.1通过位置索引值
如图:
1.2 通过下标进行索引
如图:
1.3 精度与类型f
如图:
1.打印个人信息
如图:
通过2天的学习,已近掌握了基本的Python语法、运算符,流程控制等系列的基础知识。知识的海洋是无穷的,下次会更加努力学习,同时也努力更新更优质的Python 学习文章,和大家一起讨论,一起成长。
问题1.
TypeError: '>=' not supported between instances of 'str' and 'int'
遇到这种问题,就是我们输入的内容,默认是字符串,我们需要转换成int,类型。如:
将grade =input("输入你的成绩:")
转换成
grade =int (input("输入你的成绩:"))
。问题2.
SyntaxError: invalid syntax
,这就是我们的语法问题,特别需要注意的是,条件语句后面的分号。循环里面的 continue,break 位置,空格多少
问题3.
IndentationError: unindent does not match any outer indentation level
错误表明,你使用的缩进方式不一致,有的是 tab 键缩进,有的是空格缩进,改为一致即可。
谢谢你的点赞,关注。如果有什么问题,可以评论或者私聊我,我尽量协助处理问题