Python速忆笔记(更新中)

你好,如果你是第一次看我的笔记,欢迎您关注我,我喜欢持续分享更多有意思的干货。如果能够帮到您的话,希望你给我点个赞❤️

文章目录

    • 1.1 快速回忆
      • 1.1.1 打印和注释
        • 1.1.1.1 打印
        • 1.1.1.2 注释
      • 1.1.2 字符串
        • 1.1.2.1 概述
        • 1.1.2.2 拼接
      • 1.1.3 数据类型
        • 1.1.3.1 识别数据类型
        • 1.1.3.2 复数
        • 1.1.3.3 格式说明符
      • 1.1.4 加减乘除
        • 1.1.4.1 概述
        • 1.1.4.2 运算顺序
      • 1.1.5 变量
        • 1.1.5.1 概述
        • 1.1.5.1 使用变量修改数据
        • 1.1.5.2 复制数据
        • 1.1.5.3 禁用名称
      • 1.1.6 内置类型
        • 1.1.6.1 元组
        • 1.1.6.2 列表
        • 1.1.6.3 字典
    • 1.2 回过头来
      • 1.2.1 字符串
        • 1.2.1.1 处理列表一样处理字符串
        • 1.2.1.2 分片
        • 1.2.1.3 replace方法
        • 1.2.1.4 format()方法
      • 1.2.2 特殊类型
      • 1.2.3 集合
      • 1.2.4 转换
      • 1.2.5 运算符
    • 1.3 马上上手
      • 1.3.1 比较
      • 1.3.2 逻辑
      • 1.3.3 决策
      • 1.3.4 循环
        • 1.3.4.1 开始循环
        • 1.3.4.2 终止循环
      • 1.3.5 处理异常
    • 1.4 高级
      • 1.4.1 函数

1.1 快速回忆

1.1.1 打印和注释

1.1.1.1 打印

print即可打印

print("hello world")

1.1.1.2 注释

单行注释用#,多行注释用一对三个单引号或者一对三个双引号。

1.1.2 字符串

1.1.2.1 概述

python字符串只需引号括起来即可

"this is test"

这里指的引号可以是单引号、双引号、三引号,需要注意的是三引号不能用一对,否则会变成注释

1.1.2.2 拼接

需要拼接字符串可用加号,也可不加,但是最好是加。

"this is"+"test" #写法一
"this is""test" #写法二

用格式说明符拼接字符串

"this is %s" %("test")

1.1.3 数据类型

1.1.3.1 识别数据类型

type(1) #可以在括号中放入不同的数据类型来识别

1.1.3.2 复数

type(1+2j) #在python中j为虚数单位,通常跟在虚部后

1.1.3.3 格式说明符

%s #字符串
%f #浮点数
%E #科学数

如果需要打印出%某某这类格式说明符的话,应该在前加上\表示转义

1.1.4 加减乘除

1.1.4.1 概述

44 +11
44-11
44*11
44/11
44%11

在除法中,不同于C++和java,python的除法由于没有指定数据类型相除,得出来的答案是我们平时学数学那样的答案;比如1/2在C++中是0,而在python中答案确是0.5。

还有一个需要注意的是5/3这类计算出来结果为无限循环小数的,可以使用%f格式将其截短。

1.1.4.2 运算顺序

对于运算顺序为了简便,先运算的使用圆括号括起即可。

1.1.5 变量

1.1.5.1 概述

x = 1

变量在python中也叫名称,与C++和java不同,其无需指定数据类型,变量仅仅只是作为一个引用的名称罢了。

1.1.5.1 使用变量修改数据

x = 1
print(x)
x = 2
print(x)

1.1.5.2 复制数据

x = 1
print(x)
y = x+1
print(y)

1.1.5.1已经讲过,变量仅仅是一个引用的名称,是一种访问数据的方法,在深度学习这种大型运算中,如果你频繁地使用x=1、y=2这样的方式,那会导致内存中加载了大量的数据,所以为了节省内存,我们可以使用复制的方式,节省内存空间。

1.1.5.3 禁用名称

对于一些特殊的标识符,不可以作为变量以免出现二义性。

1.1.6 内置类型

1.1.6.1 元组

元组使用圆括号括起,里面存放数据序列,且不可被更改。

x = (1,2,3,4)
x[2] = 1 #'tuple' object does not support item assignment

获得元组内元素数目

len(x)

需要注意的是,len作为内置函数不止可以用于元组,还可用于列表。

元组可以嵌套

x = (1,2,3,4)
y = (x,1,2,3)
print(y) #((1, 2, 3, 4), 1, 2, 3)

元组中的元素从0开始,访问用[]

x = (1,2,3,4)
x[1] #2

1.1.6.2 列表

列表用方括号括起,里面存放数据序列,可以被更改。

x = [1,2,3,4]
x[1] = 1
print(x) #[1, 1, 3, 4]

列表中添加元素用append,添加的元素位于列表的最后

x = [1,2,3,4]
x.append(5)
print(x) #1,2,3,4,5

添加多个元素用extend,需要注意的是,extend的并不想append那样添加的是元素,更确切地说是做一个列表的拼接。

x = [1,2,3,4]
x.extend([5,6,7])
x

删除列表元素可以用pop,括号中可以指定索引,如果不指定,默认删除最后一个。

x = [1,2,3,4]
x.pop()
print(x) #[1,2,3]

1.1.6.3 字典

元组和列表用数字顺序做索引,而字典用名称做索引,名称可以随意指定。字典用花括号括起来,用冒号表示键值对。

y = {"1号位":"梅西","2号位":"刘德华"}

访问字典同样使用方括号,只不过可以放入的是自己在字典中定义的索引,即键值对的键。

y = {"1号位":"梅西","2号位":"刘德华"}
y["1号位"] #'梅西'

如果要获取字典中所有的键可以用keys()函数

y = {"1号位":"梅西","2号位":"刘德华"}
print(y.keys()) #dict_keys(['1号位', '2号位'])

如果要获取字典中所有的值可以用values()函数

y = {"1号位":"梅西","2号位":"刘德华"}print(y.values()) #dict_values(['梅西', '刘德华'])

1.2 回过头来

1.2.1 字符串

1.2.1.1 处理列表一样处理字符串

我们可以把字符串看成列表一样访问

test = ["梅西","刘德华"]
test[1] #'刘德华'
test[1][1] #'德'

1.2.1.2 分片

在字符串中可以用分片来切割某一小段的元素,分片有时候也叫切片;同样地,列表、元组也可以用切片操作。

x = "hello"
x[1:2] #'e'

1.2.1.3 replace方法

如果我们想对字符串的某一部分做替换,可以使用replace方法:

s = "1396627113"
s1 = s.replace(s[4:],'*'*6)
print(s1) #1396******

1.2.1.4 format()方法

如果我们想要对字符串中的空处进行批处理填补,可以用format方法:

s = "{}66{}113"
s1 = s.format('139','27')
print(s1) #1396627113

实际上我们可以指定位置来填补

s = "{1}66{0}113"
s1 = s.format('27','139')
print(s1) #1396627113

还可以指定关键字传入

s = "{number1}66{number2}113"
s1 = s.format(number1 = "139",number2 = "27")
print(s1)

除了上面部分,在python后面发布的版本中,出现了一种f-String字符串格式化方法,其基本格式即f’字符串内容’即可。如下所示:

number1 = "27113"
s = f'13966{number1}'
print(s) #1396627113

1.2.2 特殊类型

None在python中表示没有。True表示1,False表示0。

需要注意的是,对于某些接触过多门编程语言的人来说,我们都知道C++中0代表false,其余代表true;对于linux来说0代表真,其余代表假。

1.2.3 集合

集合是我们数学意义上的集合,其拥有我们高数中学过集合的三大特性,用花括号表示。

a = {1,2,3,4,5}

1.2.4 转换

如果是转列表,可以用list。

a = "12345"
list(a) #['1', '2', '3', '4', '5']

如果是转集合,可以用set

a = "12345"
set(a) #{'1', '2', '3', '4', '5'}

如果是转元组,可以用tuple

a = "12345"
tuple(a) #('1', '2', '3', '4', '5')

1.2.5 运算符

对于比较运算符来说这里无需阐述,因为对于任何一门编程语言来说在运算符这里都是通用的,无需多言。

需要注意不同于其他语言的是三目运算符。如果是C语言,其三目运算符一般为:

//判断条件?真结果:假结果
2>3?2:3 #3

而对于python其并不支持?:这样的表示方法,而是支持另外一种,如下所示:

"""真结果 if 判断条件 else 假结果"""
s =  2 if 2>3 else 3
print(s) #3

1.3 马上上手

1.3.1 比较

如果要比较两个值是否相等可以用过==

1==1 #True

比较两个序列是否相等也可以用==,需要注意的是,序列相等不仅仅要元素相同,顺序也要相同。

如果要比较两个值是否不相等可以用!=

2 !=1 #True

比较两个值的大于和小于可以用><,也可以用>=或<=。

2>1 #True

如果是两个字符串进行比较,那么实际上是在比较其长度。

1.3.2 逻辑

and使得and左右两个值必须同时为真,结果才为真。

True and True #True

or使得一真必真。

True or True #True

1.3.3 决策

在python中一般用if来做决策,意味如果某条件为真,则执行某种条件。

if 1>2:print("yes")

和其他编程语言一样,python也有if-else。

if 1>2:print("yes")
else:print("no")

同样也有if-elif,用于判断多重条件

milk = 1.50
if milk<1.25:print("small")
elif milk >1.25 and milk < 2.0:print("center")
elif milk >2.0:print("big")

1.3.4 循环

1.3.4.1 开始循环

while循环格式如下:

i  = 10
while i>0:print("Lift off in:")print(i)i = i-1

for循环格式如下:

for i in range(10,0,-1):print("T-minus:")print(i)

for循环的in后面跟一个序列,序列可以是range,可以是列表,还可以是元组。

range是指一段区间,左闭右开,参数(a,b,c)分别代表起始、终止、步长。

1.3.4.2 终止循环

用break可以跳出无穷循环

age = 0
while True:age = age + 1print(age)if(age == 10):break

用continue可以跳过此次循环

age = 0
while True:age = age + 1if(age == 10):continueprint(age)if(age == 15):break 

可以结合决策来使用break

for food in ("pate","cheese","crackers","yogurt"):if food == "yogurt":breakelse:print("there is no yogurt!")

1.3.5 处理异常

可以使用try…except 来处理异常,try后面跟着执行的代码,except负责处理可能出现的异常

fridge = {"egg":8,"mushroom":20,"peepper":3,"cheese":2,"tomato":4,"milk":13}
try:if fridge["orange"]>3:print("Sure,let's have some juice!")
except KeyError:print("there is no juice")

如果需要处理一个异常,但是以什么都不做的方式处理它,可以用pass

fridge = {"egg":8,"mushroom":20,"peepper":3,"cheese":2,"tomato":4,"milk":13}
try:if fridge["orange"]>3:print("Sure,let's have some juice!")
except KeyError:pass

1.4 高级

1.4.1 函数

在python中有许多的内置函数,我们放到后面讲解。

定义一个函数可以用def

def in_fridge():try:count = fridge[wanted_food]except KeyError:count = 0return count

使用函数

def in_fridge():try:count = fridge[wanted_food]except KeyError:count = 0return countfridge = {'apples':10,'oranges':3,'milk':2}
wanted_food = 'apples'
in_fridge() #10

通常可以在函数内部的开头用注释写上函数的作用,以便阅读

def in_fridge():"""this is a function to see if the fridge has a food.fridge has to be a dictionary defined outside of the function."""try:count = fridge[wanted_food]except KeyError:count = 0return count

如果想要看到某个函数内部的注释(文档),可以用一对双下划线将doc包住,即__ doc __

def in_fridge():"""this is a function to see if the fridge has a food.fridge has to be a dictionary defined outside of the function."""try:count = fridge[wanted_food]except KeyError:count = 0return count
print(in_fridge.__doc__)

如果想要查看函数保存的其他信息可以用dir()查看

dir(in_fridge)

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

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

相关文章

读书

博客注册有一段时间了&#xff0c;但是一直没开张。冒着虽然写东西也还是会长草的危险&#xff0c;我还是先贴几个字吧&#xff0c;一方面是好歹给自己一个开始&#xff0c;一方面也是有人想看。其实后者更重要&#xff0c;这个跟我们写代码很像&#xff0c;很多时候你关注一些…

java及python调用RabbitMQ

1,python调用MQ发送消息(生产者),话不多说,直接上干货 import pika 如下图 2.java调用MQ发送消息(生产者) 具体代码如下: python 的代码如下 connection pika.BlockingConnection(pika.ConnectionParameters(IP,端口,/))channel connection.channel()msg_props pika.Bas…

android模块化 osgi,蚂蚁金融级移动应用 osgi 模块化架构实践.pdf

蚂蚁金融级移动应用 osgi 模块化架构实践To p 1 0 0 C a s eS t u d i e s O f T h e Ye a r s-AndroidTo p 1 0 0 C a s eS t u d i e s O f T h e Ye a r s1“Application” App“Service”2BundleComponent3MultiDexTo p 1 0 0 C a s eS t u d i e s O f T h e Ye a r s-300…

MySQL速忆笔记(更新中)

本笔记不适合初学者观看&#xff0c;如果想细致了解数据库的初学者可以前往数据库杂谈全集深入了解。 数据库原理指路&#xff1a;数据库杂谈&#xff08;一&#xff09; 另外希望能看到这篇笔记的同志能点个赞&#xff0c;在内卷的时代分享知识不容易。 文章目录[toc]1 准备工…

svn上传报Authorization failed错误解决办法

svn上传文件时没有弹出用户登录界面&#xff0c;而是直接报Authorization failed错误。出现该问题基本都是三个配置文件的问题&#xff0c;下面把这个文件列出来 svnserve.conf配置文件中的 [general] anon-access read auth-access write password-db passwd authz-db aut…

html知识收集(一)

1.页内跳转iframe <ul> <li><a href"1.html" target"iframe1">1</a></li> <li><a href"2.html" target"iframe1">2</a></li> </ul> </ul> <iframe name"i…

html5怎么调用手机陀螺仪,html5 获取 陀螺仪,重力感应(转发)

DeviceOrientationEvent是获取方向&#xff0c;得到device静止时的绝对值&#xff1b;DeviceMotionEvent是获取移动速度&#xff0c;得到device移动时相对之前某个时间的差值比设备定位API&#xff0c;该API允许你收集设备的方向和移动信息。此外&#xff0c;该API只在具备陀螺…

设定Word段落的背景色

段落背景不同于文字区别。很多新接触word的朋友都找不到怎么弄。 先把光标停留在需要设置的段落文字上&#xff0c;或者选择需要设置的段落文字。 点击段落里的边框和底纹&#xff0c;如图 在弹出框中选择底纹。 选择需要填充的颜色&#xff0c;在左下角处把文字切换成段落。…

Hadoop随笔(二)

文章目录[toc]2 Hadoop概念2.1 Hadoop简介2.2 MapReduce编程模型简介2.3 Hadoop系统的组成2 Hadoop概念 面对大数据量的处理需求&#xff0c;一个常用的方法就是把它们分割成互不依赖的小份数据来分别计算处理&#xff0c;这就是所谓的单指令多数据流(SIMD)的数据计算模式。Ha…

HDU 5102 The K-th Distance

题意&#xff1a;给你n-1条边&#xff0c;然后没两个节点的距离按照递增的顺序&#xff0c;求出前k项的和。 官方题解&#xff1a; 把所有边(u,v) 以及(v,u)放入一个队列&#xff0c;队列每弹出一个元素(u,v)&#xff0c;对于所有与u相邻的点w&#xff0c;如果w!v&#xff0c;就…

spring AOP 之五:Spring MVC通过AOP切面编程来拦截controller

示例1&#xff1a;通过包路径及类名规则为应用增加切面 该示例是通过拦截所有com.dxz.web.aop包下的以Controller结尾的所有类的所有方法&#xff0c;在方法执行前后打印和记录日志到数据库。 新建一个springboot项目 1&#xff1a;首先定义maven <?xml version"1.0&q…

2021高考成绩查询内蒙时间,2021内蒙古高考成绩什么时候几点可以查

【摘要】2021内蒙古高考成绩什么时候出&#xff1f;随着高考的结束&#xff0c;高考成绩的发布时间就成为了广大考生和家长所关注的问题&#xff0c;以下是由整理的相关信息&#xff0c;希望对大家有所帮助&#xff01;问&#xff1a;2021内蒙古高考成绩什么时候出&#xff1f;…

数据结构杂谈(二)

本文的所有代码均由C编写 如果你已经看完这篇杂谈&#xff0c;可以前往下一篇→数据结构杂谈&#xff08;三&#xff09;_尘鱼好美的小屋-CSDN博客 文章目录2 顺序表2.1 线性表的类型定义2.2 类C语言有关操作补充2.2.1 ElemType的解释2.2.2 数组定义2.2.3 建立链表可能会用到的…

[UIKit学习]08.关于自定义控件

自定义控件 选用xib用自定义view代码与xib相关联 示例代码 (instancetype)shopView { return [self shopViewWithShop:nil]; } (instancetype)shopViewWithShop:(XMGShop *)shop { //*注&#xff1a;自定义控件时&#xff0c;尽量把所有关于控件本身逻辑在控件本身处理 XMGSh…

C#调用SQL中的存储过程中有output参数,存储过程执行过程中返回信息

C#调用SQL中的存储过程中有output参数&#xff0c;类型是字符型的时候一定要指定参数的长度。不然获取到的结果总是只有第一字符。本人就是由于这个原因&#xff0c;折腾了很久。在此记录一下&#xff0c;供大家以后参考&#xff01; 例如&#xff1a; CREATE PROCEDURE sp_Acc…

2月份Web服务器份额:排名不变 仅Microsoft份额上扬

IDC评述网&#xff08;idcps.com&#xff09;02月29日报道&#xff1a;近日&#xff0c;Netcraft公布了全球Web服务器最新数据。根据显示&#xff0c;2016年2月&#xff0c;Netcraft收到调查的网站共计933,892,520家&#xff0c;相比上月增加3%。在全球主流Web服务器市场上&…

每日一题——剑指offer18单链表的删除

如果您是第一次看我写的博客&#xff0c;可以给我点个赞并关注我吗&#xff0c;我会持续分享更多有意思的干货。 每日一题系列从今天开始&#xff0c;由于我是个算法小白&#xff0c;所以我会给你看看小白是怎么学的。&#x1f487; 文章目录1 题目2 思路3 代码4 小结1 题目 剑…

扫二维码登录

扫二维码登录转载于:https://www.cnblogs.com/cnstalker/p/8325343.html

转载 - 整数划分问题

出处&#xff1a; http://www.cnblogs.com/wanghetao/archive/2013/11/25/3442192.html 整数划分 &#xff0d;&#xff0d;&#xff0d; 一个老生长谈的问题: 描述整数划分是一个经典的问题。请写一个程序,完成以下要求。 输入每组输入是两个整数n和k。(1 < n < 50, 1 &…

27岁转行学什么计算机技术,27岁转行学IT有前途吗?

27岁转行学IT有前途吗?常常可以在网上看到这些转业者的困惑。其实&#xff0c;到了27岁还想转业&#xff0c;无外乎就是之前的工作确实没有什么发展前途。而IT行业作为朝阳产业&#xff0c;发展前景好&#xff0c;一年以上的工作经验可以轻松找到上万薪资的岗位。最重要的是IT…