一、基础语法

参看地址:https://www.runoob.com/python3/python3-tutorial.html

1.1、运行方式

1、文件方式

编写一个hello.py文件,

print("hello world")

使用命令运行:python3 hello.py

2、交互方式

输入:python3

》print("hello world")

1.2、代码基础要求

编码:Python 3 源码文件默认以 UTF-8 编码,所有字符串都是 unicode 字符串,自定义: # -*- coding: cp-1252 -*-

标识符:字母或下划线 _ 开头,字母、数字和下划线组成。py3支持中文,不推荐

保留字:不能用的,使用 如下查看

import keyword
print(keyword.kwlist)

注释:单行注释以 # 开头,多行注释可以用多个 # 号,还有 ''' 和 """;推荐#

代码块:使用缩进来表示代码块,不需要使用大括号 {},缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。语句缩进数的空格数不一致,会导致运行错误: 

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

等待用户输入:input("\n\n按下 enter 键后退出。")

同一行中使用多条语句,语句之间使用分号(;)分割

代码组:缩进相同的一组语句构成一个代码块,我们称之代码组。 像if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。我们将首行及后面的代码组称为一个子句(clause)。

if expression :
suite
elif expression :
suite
else :
suite

输出:print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end=""

导入:import 或者 from...import 来导入相应的模块

将整个模块(somemodule)导入,格式为: import somemodule
从某个模块中导入某个函数,格式为: from somemodule import somefunction
从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc
将某个模块中的全部函数导入,格式为: from somemodule import *

1.3、 运算符

1、算数运算符

假设变量a为10,变量b为21:

运算符 描述 实例
+ 加 - 两个对象相加 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

2、比较运算符

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

3、赋值运算符

运算符 描述 实例
= 简单的赋值运算符 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)")

4、位运算符

下表中变量 a 为 60,b 为 13二进制格式如下:

a = 0011 1100
b = 0000 1101
-----------------
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a = 1100 0011
运算符 描述 实例
& 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 (a & b) 输出结果 12 ,二进制解释: 0000 1100
| 按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。 (a | 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

5、逻辑运算符

运算符 逻辑表达式 描述 实例
and x and y 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 (a and b) 返回 20。
or x or y 布尔"或" - 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。 (a or b) 返回 10。
not not x 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 not(a and b) 返回 False

注意:0 是False

6、成员运算符【in、not in】

测试实例中包含了一系列的成员,包括字符串,列表或元组。

运算符 描述 实例
in 如果在指定的序列中找到值返回 True,否则返回 False。 x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
not in 如果在指定的序列中没有找到值返回 True,否则返回 False。 x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。
a = 10
b = 20
list = [1, 2, 3, 4, 5 ]; if ( a in list ):
print ("1 - 变量 a 在给定的列表中 list 中")
else:
print ("1 - 变量 a 不在给定的列表中 list 中") if ( b not in list ):
print ("2 - 变量 b 不在给定的列表中 list 中")
else:
print ("2 - 变量 b 在给定的列表中 list 中") # 修改变量 a 的值
a = 2
if ( a in list ):
print ("3 - 变量 a 在给定的列表中 list 中")
else:
print ("3 - 变量 a 不在给定的列表中 list 中")

输出

1 - 变量 a 不在给定的列表中 list 中
2 - 变量 b 不在给定的列表中 list 中
3 - 变量 a 在给定的列表中 list 中 

7、身份运算符

身份运算符用于比较两个对象的存储单元

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

注: id() 函数用于获取对象内存地址。

8、运算符优先级

运算符 描述
** 指数 (最高优先级)
~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % // 乘,除,求余数和取整除
+ - 加法减法
>> << 右移,左移运算符
& 位 'AND'
^ | 位运算符
<= < > >= 比较运算符
== != 等于运算符
= %= /= //= -= += *= **= 赋值运算符
is is not 身份运算符
in not in 成员运算符
not and or 逻辑运算符

注意:Pyhton3 已不支持 <> 运算符,可以使用 != 代替,如果你一定要使用这种比较运算符,可以使用以下的方式:

>>> from __future__ import barry_as_FLUFL
>>> 1 <> 2
True

最新文章

  1. linux hosts文件详+mac主机名被莫名其妙修改
  2. JS 阶段小练习~ 无缝滚动
  3. android so调试时遇到的坑 - arm流水线
  4. 常见kill信号
  5. Grunt vs Gulp
  6. Eplan 2D安装版布局,部件、端子竖放
  7. c# App.Config详解
  8. vim扩展配置
  9. [itint5]字符串匹配
  10. Java反射学习(java reflect)(三)
  11. 关于时间的操作(JavaScript版)——年月日三级级联(默认依次显示请选择年、请选择月和请选择日)
  12. highstock
  13. [leetcode-495-Teemo Attacking]
  14. Python编程从入门到实践笔记——异常和存储数据
  15. 结合JDK源码看设计模式——建造者模式
  16. hook
  17. UML2.0最新版入门图解
  18. Vue 父组件ajax异步更新数据,子组件props获取不到
  19. EF-CodeFirst-数据迁移
  20. json数据处理:读取文件中的json字符串,转为python字典

热门文章

  1. 不用虚拟机直接在线用的 Linux,统统都在这里!
  2. Httpd服务入门知识-Httpd服务常见配置案例之Apache的工作做状态status页面
  3. JAVA线程池的创建与使用
  4. 2019年杭电多校第二场 1008题Harmonious Army(HDU6598+最小割+建图)
  5. DateFormat与SimpleDateFormat区别和使用详解
  6. yum下载Zabbix4.0失败的解决方法
  7. Linq入门学习
  8. 201671030106 何启芝 实验十四 团队项目评审&amp;课程学习总结
  9. Easyui Datagrid扩展fixRownumber方法 转载
  10. 输入一个表示整数的字符串,把该字符串转换成整数并输出(实现atoi函数功能)