python3 学习笔记

news2024/9/20 22:32:00

一、注释

1.单行注释:# 开头

2.多行注释:''' 和 """

 二、缩进

python是使用缩进来表示代码块,不需要使用大括号{}

python具有严格的缩进原则,每个缩进一般可以有两个或四个空格组成,也可以是任意数量的空格,因为缩进的空格数是可变的,但同一个代码块必须保持相同的缩进空格数。

 三、多行语句

在一行中的多行语句,用;分隔

 四、输入输出

1.输入: 

input("输入")

2.输出:print默认输出使换行的,如果要实现不换行,在变量末尾加上end=”“

五、导入模块

在 python 用 import 或者 from...import 来导入相应的模块。

将整个模块(somemodule)导入,格式为: import somemodule

从某个模块中导入某个函数,格式为: from somemodule import somefunction

从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc

将某个模块中的全部函数导入,格式为: from somemodule import *

六、字符串

1.单引号‘和双引号”包起来的都是字符串,因为python中没有单独的字符类型

2.使用三引号(''' 或 """)可以指定一个多行字符串,或者说是段落

3.+用来连接字符串,*表示字符串的重复次数

4.对于字符串还有截取的语法

5.在字符串前加’r',就可以让转义字符不起作用

 七、运算符

1.算数运算符

+,-,*,/,%都是和其他语言一样(其中/得到的答案是小数)

特殊的有: ** 幂,//去整除-往小的方向去整数

2.比较运算符

==,!=,>,<,>=,<= 用法都与其他语言一样

3.赋值运算符

= 普通赋值运算符

+= 加法赋值运算符

-= 减法赋值运算符

*= 乘法赋值运算符

/= 除法赋值运算符

%= 取模赋值运算符

**= 幂赋值运算符

//= 取整赋值运算

4.位运算符

1.<< :

左移运算符,运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。

a << 2 输出结果 240 ,二进制解释: 1111 0000

2.>>:

右移动运算符,把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数

a >> 2 输出结果 15 ,二进制解释: 0000 1111

3.&:

按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0

4.|:


按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。

5.^:

按位异或运算符:当两对应的二进位相异时,结果为1

6.~:

按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1。~x 类似于 -x-1

5.逻辑运算符

假设变量 a 为 10, b为 20

and,布尔"与" - 如果 x 为 False,x and y 返回 x 的值,否则返回 y 的计算值。

(a and b) 返回 20。

or,布尔"或" - 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。

(a or b) 返回 10。

not,布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。

not(a and b) 返回 False

#!/usr/bin/python3
 
a = 10
b = 20
 
if ( a and b ):
   print ("1 - 变量 a 和 b 都为 true")
else:
   print ("1 - 变量 a 和 b 有一个不为 true")
 
if ( a or b ):
   print ("2 - 变量 a 和 b 都为 true,或其中一个变量为 true")
else:
   print ("2 - 变量 a 和 b 都不为 true")
 
# 修改变量 a 的值
a = 0
if ( a and b ):
   print ("3 - 变量 a 和 b 都为 true")
else:
   print ("3 - 变量 a 和 b 有一个不为 true")
 
if ( a or b ):
   print ("4 - 变量 a 和 b 都为 true,或其中一个变量为 true")
else:
   print ("4 - 变量 a 和 b 都不为 true")
 
if not( a and b ):
   print ("5 - 变量 a 和 b 都为 false,或其中一个变量为 false")
else:
   print ("5 - 变量 a 和 b 都为 true")

6.成员运算符

成员运算符的使用对象包括 字符串,列表或元组

in : 如果在指定的序列中找到值返回 True,否则返回 False。

x 在 y 序列中 , 如果 x 在 y 序列中返回 True。

not in :如果在指定的序列中没有找到值返回 True,否则返回 False。

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 中")

7.身份运算符

is 是判断两个标识符是否引用自一个对象,x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True

is not 与 is 的作用相反

a = 20
b = 20
 
if ( a is b ):
   print ("1 - a 和 b 有相同的标识")
else:
   print ("1 - a 和 b 没有相同的标识")
 
if ( id(a) == id(b) ):
   print ("2 - a 和 b 有相同的标识")
else:
   print ("2 - a 和 b 没有相同的标识")
 
# 修改变量 b 的值
b = 30
if ( a is b ):
   print ("3 - a 和 b 有相同的标识")
else:
   print ("3 - a 和 b 没有相同的标识")
 
if ( a is not b ):
   print ("4 - a 和 b 没有相同的标识")
else:
   print ("4 - a 和 b 有相同的标识")
结果:
1 - a 和 b 有相同的标识
2 - a 和 b 有相同的标识
3 - a 和 b 没有相同的标识
4 - a 和 b 没有相同的标识

s 与 == 区别:

is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。

八、列表

列表是Python中最基本的数据结构,它可以作为一个方括号内的逗号分隔值出现

相当于c语言中的数组,但相比数组,列表中的元素可以是任意类型

list1 = ['Google', 'Runoob', 1997, 2000]
list2 = [1, 2, 3, 4, 5 ]
list3 = ["a", "b", "c", "d"]
list4 = ['red', 'green', 'blue', 'yellow', 'white', 'black']

序列中的每个值都有对应的位置值,称之为索引,第一个索引是 0,第二个索引是 1,依此类推。

Python 已经内置确定序列的长度以及确定最大和最小的元素的方法

 1.访问列表中的值

索引可以是从头部开始0,1,2···,也可以是从尾部开始-1(最后一个元素),-2,···

list = ['red', 'green', 'blue', 'yellow', 'white', 'black']
print( list[0] )
print( list[1] )
print( list[-1] )
print( list[-2] )

输出结果:

red

green

black

white

另外除了下标检索的方法,可以使用方括号 [ ] 的形式截取字符

nums = [10, 20, 30, 40, 50, 60, 70, 80, 90]
print(nums[0:4])

输出结果:

[10, 20, 30, 40]
list = ['Google', 'Runoob', "Zhihu", "Taobao", "Wiki"]
 
# 读取第二位
print ("list[1]: ", list[1])
# 从第二位开始(包含)截取到倒数第二位(不包含)
print ("list[1:-2]: ", list[1:-2])

 还有一种截取形式

L[1:]     ['Runoob', 'Taobao']        输出从第二个元素开始后的所有元素

2.更新列表

可以直接对列表的元素进行更新,使用append()方法来添加列表元素

list = ['Google', 'Runoob', 1997, 2000]
 
print ("第三个元素为 : ", list[2])
list[2] = 2001
print ("更新后的第三个元素为 : ", list[2])
 
list1 = ['Google', 'Runoob', 'Taobao']
list1.append('Baidu')
print ("更新后的列表 : ", list1)

输出结果:

第三个元素为 :  1997
更新后的第三个元素为 :  2001
更新后的列表 :  ['Google', 'Runoob', 'Taobao', 'Baidu']

3.删除列表元素

使用到del语句来删除列表的元素

#!/usr/bin/python3
 
list = ['Google', 'Runoob', 1997, 2000]
 
print ("原始列表 : ", list)
del list[2]
print ("删除第三个元素 : ", list)

 

4.列表脚本操作符

列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。

 5.嵌套列表

即一个列表的元素是其他的列表

>>>a = ['a', 'b', 'c']
>>> n = [1, 2, 3]
>>> x = [a, n]
>>> x
[['a', 'b', 'c'], [1, 2, 3]]
>>> x[0]
['a', 'b', 'c']
>>> x[0][1]
'b'

6.列表比较

列表比较需要引入 operator 模块的 eq 方法

# 导入 operator 模块
import operator

a = [1, 2]
b = [2, 3]
c = [2, 3]
print("operator.eq(a,b): ", operator.eq(a,b))
print("operator.eq(c,b): ", operator.eq(c,b))

输出结果:

operator.eq(a,b):  False
operator.eq(c,b):  True

 

九、元组

Python 的元组与列表类似,不同之处在于元组的元素不能修改。

元组使用小括号 ( ),列表使用方括号 [ ]。

元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

>>> tup1 = ('Google', 'Runoob', 1997, 2000)
>>> tup2 = (1, 2, 3, 4, 5 )
>>> tup3 = "a", "b", "c", "d"   #  不需要括号也可以
>>> type(tup3)
<class 'tuple'>

python中元组和列表的创建都是通过键值对的形式

 

>>> tup1 = (50)
>>> type(tup1)     # 不加逗号,类型为整型
<class 'int'>

>>> tup1 = (50,)
>>> type(tup1)     # 加上逗号,类型为元组
<class 'tuple'>

1.元组的访问

元组的创建使用到的是括号,但访问元素使用到的是中括号【 】 

与列表的访问方式相同

tup1 = ('Google', 'Runoob', 1997, 2000)
tup2 = (1, 2, 3, 4, 5, 6, 7 )
 
print ("tup1[0]: ", tup1[0])
print ("tup2[1:5]: ", tup2[1:5])

2.修改元组

这里是和列表不一样的了

元组是不允许修改其内部的元素

3.元组的删除、元组运算符、内置函数均与列表的操作相同

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/729523.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深度学习常用优化器总结

一、优化器的定义 优化器&#xff08;optimizer&#xff09;本质上是一种算法&#xff0c;用于优化深度学习模型的参数&#xff0c;通过不断更新模型的参数来最小化模型损失。在选择优化器时&#xff0c;需要考虑模型的结构、模型的数据量、模型的目标函数等因素。 二、常用…

web前端总结(一)HTML标签

1.语法结构&#xff1a; <标签 属性 “值”>内容</标签> <p align "center">标签内容</P> 2.标签 1.标题标签&#xff1a; **标题标签 <h1> - <h6>&#xff08;重要&#xff09;** 为了使网页更具有语义化&#xff0c;我们…

stm32_<一文通>_cubemx_freertos

文章目录 前言一、任务调度1.1 延时1.1.1 相对延时1.1.2 绝对延时 1.2 挂起和恢复1.2.1 cmsis的挂起和恢复函数1.2.2 freertos的挂起和恢复函数 1.3 删除1.3.1 cmsis的删除任务函数1.3.2 freertos的删除任务函数 二、Freertos任务与中断三、消息队列3.1 写入和读取一个数据3.2 …

6阶高清视频滤波驱动MS1681

MS1681 是一个单通道视频缓冲器&#xff0c;它内部集成6dB 增益的轨到轨输出驱动器和6 阶输出重建滤波器。MS1681 的-3dB 带宽为35MHz&#xff0c;压摆率为160V/us。MS1681 比无源LC 滤波器与外加驱动的解决方案能提供更好的图像质量。它单电源供电范围为2.5V 到5.5V&#xff0…

什么是提示词工程师?

前言 你可能听说过人工智能模型&#xff0c;但你是否知道&#xff0c;背后的神奇之处源自于那些执着于提示设计和优化的专业人员&#xff1f;提示词工程师是引导我们与机器对话的幕后英雄&#xff0c;他们通过精心构造的提示&#xff0c;让模型理解我们的意图、解答问题&#…

React + TypeScript 实践

主要内容包括准备知识、如何引入 React、函数式组件的声明方式、Hooks、useRef<T>、useEffect、useMemo<T> / useCallback<T>、自定义 Hooks、默认属性 defaultProps、Types or Interfaces、获取未导出的 Type、Props、常用 Props ts 类型、常用 React 属性类…

zabbix基础4——自定义监控案例

文章目录 一、监控进程二、监控日志三、监控mysql主从四、监控mysql延迟 一、监控进程 示例&#xff1a;监控客户端上的httpd服务进程&#xff0c;当进程书少于1时&#xff0c;说明服务已经挂掉&#xff0c;需要及时处理。 1.客户端开启自定义监控功能。 vim /usr/local/etc/…

YApi-高效、易用、功能强大的可视化接口管理平台——(一)使用 Docker 本地部署

Docker 本地部署 YApi 安装 Docker安装设置 USTC 镜像启动 Docker Docker 安装 MongoDBDocker 安装 YApi登录 YApi 本内容以虚拟机【系统&#xff1a;Centos7】为例&#xff0c;云服务器步骤相同。使用Docker 的方式搭建 YApi&#xff0c;拉取 MongoDB 镜像和 YApi 镜像即可。 …

SpringBoot学习——追根溯源servlet是啥,tomcat是啥,maven是啥 springBoot项目初步,maven构建,打包 测试

目录 引出追根溯源&#xff0c;过渡衔接servlet是啥&#xff1f;tomcat是啥&#xff1f; 前后端开发的模式1.开发模式&#xff1a;JavaWeb&#xff1a;MVC模型2.Web&#xff1a;Vue&#xff0c;MVVC模型3.后端相关3.1 同步与异步3.2 Controller层3.3 Service层&#xff1a;要加…

【C语言基础】函数(2)

在函数&#xff08;1&#xff09;中我们已经讲过了函数的定义&#xff0c;形参与实参&#xff0c;函数的调用&#xff0c;局部变量与栈内存 接下来还有几个要强调的函数相关知识。 一、静态函数 静态函数是在函数声明前加上关键字 static 的函数。静态函数在C语言中具有以…

让计算机讲话

std ::cout是什么&#xff1f; 首先 std是命名空间后面会讲。STD&#xff08;standard标准&#xff09; cout和printf就呢让计算机说话 最早的使用打印机&#xff0c; std::cout相当于调用了一个特殊的函数。 后面需要加<<隔开。 知道最基本的知识就OK了 c的风格 函数…

API接口在软件开发中扮演着重要的角色

随着互联网的快速发展&#xff0c;API&#xff08;Application Programming Interface&#xff09;接口在软件开发中扮演着重要的角色。调试API接口是确保系统正常运行的关键步骤之一。本文将介绍如何选择适合的方法进行API接口调试&#xff0c;以确保开发过程的高效进行和应用…

20.光敏传感器

1.光敏传感器介绍&#xff1a; 光敏二极管(光敏电阻),作为光敏传感器&#xff1b;光敏二极管也称光电二极管&#xff1b;光敏二极管与半导体二极管在结构上类似&#xff0c;其管芯是一个具有光敏特征的PN结&#xff0c;具有单向导电性&#xff0c;因此工作时需要加上反向电压。…

【ECharts系列】ECharts 鼠标悬停线格式化

问题描述&#xff1a; 折线图有很多数据&#xff0c;鼠标悬停时&#xff0c;针对X轴&#xff0c;Y轴数据进行格式化&#xff0c;例如X的时间戳&#xff0c;格式化为时分秒&#xff0c;Y轴保留两位小时 希望效果图&#xff1a; 方案1&#xff1a; 在这个示例中&#xff0c;X轴依…

指针进阶(二)

目录 函数指针数组 指向函数指针数组的指针 回调函数 回调函数模拟实现qsort&#xff08;快速排序&#xff09; 整型数组的排序 结构题排序 按年龄排序 按名字排序 模拟实现qsort函数&#xff08;冒泡排序&#xff09; 函数指针数组 数组是一个存放相同类型数据的存储空…

【Linux】gcc/g++的使用 自动化构建工具make/makefile的使用

一.gcc的使用 在学习C语言时&#xff0c;我们了解了预处理阶段要做的事&#xff1a;->预处理 这其中会经历两个阶段&#xff1a;编译和链接 而编译又分为三个阶段&#xff1a;预编译&#xff0c;编译&#xff0c;汇编 通过不同的选项&#xff0c;可以让gcc停在以上相应的阶段…

ArcGis Pro如何通过C#进行插件开发?

文章目录 0.引言1.开发工具准备2.VS&#xff08;C#&#xff09;创建ArcGIS Pro模块加载项3.编译并使用ArcGis Pro插件 0.引言 ArcGIS Pro插件&#xff08;Add-ins&#xff09;可以让用户更加容易的自定义和扩展ArcGIS Pro应用程序&#xff0c;它创建一系列自定义工具提供了一个…

ISO文件boot、dvd、minimal的区别

在centos的下载中&#xff0c;有分为boot、dvd、minimal的iso文件&#xff0c;那么他们之间有什么区别呢&#xff1f; boot.iso 这个版本大小不会超过1G ,只有最基本的启动引导等内容&#xff0c;各类包均需从线上下载&#xff0c;需要快速安装且有可靠网络的前提下&#xff0c…

linux中的数据库

目录 1.安装MySQL 2.创建数据库 3.删除数据库 4.查询创建数据库的语句 5使用数据库的语句 6.查询当前默认的数据库 7.查询使用的编码方式和校验规则 8.创建表的语句 9.表的物理存储结构 10.表的数据类型 11.总结 引言&#xff1a; 数据库是现代应用开发中不可或缺的组…

获取视频 RTMP 推流web播放

工作需要研究下市面上显示实时视频方案。这里介绍下RTMP协议。 需求获取USB摄像头&#xff0c;手机谁摄像头。显示到web网页上。 一、 采集摄像头 这个使用opencvSharp来采集&#xff1a; nuget: var task Task.Run(() >{var capture new VideoCapture(0);VideoCaptur…