-
Python基本操作
2017-11-22 20:18:22没有认真学习过python,偶尔遇到,总是模仿着写。在写程序的过程中,发现了许多不同于matlab的有趣语法。我将人的图片镜像,结果由于不熟悉语法,结果发现出现了好奇怪的结果。贴两张图,以示警醒~~~ 看起来蛮炫...没有认真学习过python,偶尔遇到,总是模仿着写。在写程序的过程中,发现了许多不同于matlab的有趣语法。我将人的图片镜像,由于不熟悉语法,结果发现出现了好奇怪的结果。贴两张图,以示警醒~~~
看起来蛮炫的吧,哈~言归正题吧~~
1. 关于拷贝
(1) copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象。(比深拷贝更加节省内存)
(2)copy.deepcopy 深拷贝 拷贝对象及其子对象用一个简单的例子说明如下:
import copy
a = [1, 2, 3, 4, [‘a’, ‘b’, ‘c’]]
b = a #b和a的地址完全相同
c = copy.copy(a) #c是a的浅拷贝
d = copy.deepcopy(a) #d是a的深拷贝2. 关于图像显示
import cv2
import matplotlib.pyplot as pltim=cv2.read(‘….’)
im=im.astype(‘Float16’)
im=im/255
plt.figure(‘im’)
plt.imshow(im)
plt.show()
im=im.astype(np.unit8) #注意类型错了就不能正常显示
plt.figure(‘im’)
plt.imshow(im)
plt.show3.
-
python基本操作
2016-09-20 09:28:39从官网直接下载python2之后进行安装,安装路径自定义在D:/Python27 1、如果安装成功,从cmd中导到安装目录下,然后敲击命令python,会出现以下画面: >进入驱动盘命令-X:-X为盘名称 >查看目前路径下的文件名命令-dir...从官网直接下载python2之后进行安装,安装路径自定义在D:/Python27
1、如果安装成功,从cmd中导到安装目录下,然后敲击命令python,会出现以下画面:
>进入驱动盘命令-X:-X为盘名称
>查看目前路径下的文件名命令-dir XXX-XXX为当前文件夹
>进入某文件夹的命令-cd XXX-XXX为目标文件夹
>返回上级目录-cd..
2、python安装包已经包含了包管理工具可以进行模块的安装和卸载
>pip在安装路径下的Scripts子文件夹里,使用时须进入 cd scripts
>pip检查需要更新的包 pip list --oudated
>pip对需要更新的包进行升级 pip install --upgrade XXX(XXX为包名)
>pip直接安装所需要的包 pip install XXX
-
【Python篇】Python基础--Python基本操作
2021-01-06 00:06:13【Python篇】Python基础–Python基本操作 前言 啦啦啦,现在开始,打算做一期Python基础教程,欢迎大家来看哦! 导读 这期文章真的是Python基础中的基础,相信有一定编程基础的小伙伴们都一定能看懂的… 本文...【Python篇】Python基础–Python基本操作
前言
啦啦啦,现在开始,打算做一期Python基础教程,欢迎大家来看哦!
导读
这期文章真的是Python基础中的基础,相信有一定编程基础的小伙伴们都一定能看懂的…
本文共分为以下几个部分:
- 数与运算符
- 基本输入输出
- 注释
- 模块基本操作
- 小彩蛋
如果你还不会,欢迎继续看下去哦;如果你已经会了,可以把滚动条拉到最下面,不妨看看小彩蛋哦!在最后,我将讲解Python奥义(懂的估计已经猜到是什么了)…
本人过于神经(中二),还请见谅…
导图
本文内容导图(
不得不说,百度脑图还是很好用的,用visio画半天画的死难看)
正文
— 数与运算符
- 算数运算符
运算符 描述 例子 + 计算两数之和 2+3==5 - 计算两数之差 4-3==1 * 计算两数之积 3*4==12 / 计算两数之商 5/2==2.5 // 对两数进行整除计算 (如果你想在整数除法运算中丢弃小数) 5//2==2.5 % 对两数进行求余 (Python中可以对小数求余) 5%2==1 ** 以左值为底数,右值为指数进行乘方运算 3**2==9 #加法运算符 "+" >>>2+3 5 >>>5+2 7 #减法运算符 "-" >>>4-3 1 >>>10-3 7 #乘法运算符 "*" >>>3*4 12 >>>-3*4.0 -12.0 #除法运算符 "/" (!!!除法运算的结果为小数!!!) >>>4/2 2.0 >>>5/2 2.5 #整除运算符 "//" >>>1//2 0 >>>5.0//2.4 2.0 #求余(求模)运算符 "%" (!!!Python中可以对小数求余!!!) >>>5%2 1 >>>2.75%0.5 0.25 #乘方(求幂)运算符 "**" >>>3**2 9 >>>(-3)**2 9
- 比较运算符
运算符 描述 例子 > 比较左值是否大于右值 (2>1)==True < 比较左值是否小于右值 (1<2)==True == 比较该运算符两边的对象是否相等 (1==1)==True >= 比较左值是否大于或等于右值 (3>=3)==True <= 比较左值是否小于或者等于右值 (2<=2)==True != 比较该运算符两边的对象是否不相等 (1!=2)==True #大于 ">" >>>1>2 False >>>3>2 True #小于 "<" >>>3<4 True >>>5<3 False #等于 "==" (!!!注意是两个等号,要和赋值区别一下!!!) >>>2==1 False >>>3==3 True #大于或等于 ">=" >>>3>=2 True >>>3>=3 True >>>5>=9 False #小于或等于 "<=" >>>1<=1 True >>>3<=2 False >>>3<=10 True #不等于 "!=" >>>1!=1 False >>>1!=2 True
- 赋值运算符
定义变量 a = 10
运算符 描述 例子 = 右值赋值给左值 a=3,此时a==3 += 将左值与右值相加后,赋值给左值 a+=3,此时a==13 -= 将左值与右值相减后,赋值给左值 a-=3,此时a==7 *= 将左值与右值相乘后,赋值给左值 a*=3,此时a==30 /= 将左值除以右值后,赋值给左值 a/=2,此时a==5.0 //= 将左值整除右值后,赋值给左值 a//=4,此时a==2 %= 用右值对左值求余后后,赋值给左值 a%=3,此时a==1 **= 以左值为底数,右值为指数进行乘方运算后,赋值给左值 a**=3,此时a==1000 #赋值 "=" >>>a=10 #此时a的值为 10 >>>a=3 #此时a的值为 3 #加法赋值运算符 "+=" >>>a=10 >>>a+=3 #此时a的值为 13 #减法赋值运算符 "-=" >>>a=10 >>>a-=3 #此时a的值为 7 #乘法赋值运算符 "*=" >>>a=10 >>>a*=10 #此时a的值为 100 #除法赋值运算符 "/=" >>>a=10 >>>a/=2 #此时a的值为 5.0 #整除赋值运算符 "//=" >>>a=10 >>>a/=3 #此时a的值为 3 #取模赋值运算符 "%=" >>>a=10 >>>a%=4 #此时a的值为 2 #求幂赋值运算符 "**=" >>>a=10 >>>a**=3 #此时a的值为 1000
— 基本输入输出
Python 提供了两种基本的输入和输出的方式,input()函数 和 print()函数,以便我们与程序进行交互。例如下图,我们在登陆账号密码时需要对其进行输入,要用到**input()函数;如果输入错了,网页提示我们输入错了,需要用到print()**函数输出错误信息进行提示。
- print()函数
如果想在你的电脑显示器上显示你想让它显示的值时,这个函数是必不可少的。
#输出字符串 >>>print("Hello World") Hello World #输出变量 >>>a=10 >>>print(a) 10 #输出变量和字符串 >>>a=10 >>>print("I'm",a,".") I'm 10 .
- input()函数
如果你想在程序运行后对变量进行赋值,那么就需要这个函数了。
#输入(赋值) >>>a=input() #输入10 >>>print(a) 10 #带提示的输入(赋值) >>>age=input("Please tell me your age:") >>>print("My age is",age) Please tell me your age: #先是提示input括号里的内容,此时可以输入值,在这里我们输入10后回车 My age is 10 #执行print函数,输出 My age is 10
— 注释
注释真的是非常重要的东西,不知道你们有没有注意到,我上面所有的 代码块 都用到了注释呢?注释可以让我们在写代码的过程中去记录我们代码想要实现的功能,以便我们记录和调试代码,也方便他人的查看。
Python中大概有四种注释的方法总体分为单行注释和多行注释- 单行注释
1. # :可以注释掉 # 后面的内容。
2.Ctrl键 + /:可以注释掉选中的行,也可以取消被注释的行。
- 多行注释
3. ‘’’ 被注释内容 ’’’:可以跨行注释掉 ‘’‘ ‘’’ 里的被注释内容。
4. “”" 被注释内容 """:和上面一样,可以跨行注释掉 “”" “”" 里的被注释内容。
— 模块基本操作
模块可视为拓展,通过将其导入可以拓展Python功能(感觉就像是C语言里的 include语句来导入C语言库),要导入模块,有以下两种方法:
- import语句
格式:import 模块
>>>import math #导入math库 >>>math.floor(32.9) #使用math模块里的floor()函数,floor()函数的功能是返回数字的下舍整数。 32
- from…import语句
格式:from 模块 import 函数
>>>from math import sqrt #从math库里导入sqrt()函数,sqrt()函数的功能是返回数字的平方根 >>>sqrt(9) #sqrt()的使用 3.0
— 彩蛋
Python之禅
在Python编译器里输入以下代码即可看到哦!(下面的翻译是从网上找的)>>>import this Beautiful is better than ugly. # 优美胜于丑陋(Python以编写优美的代码为目标) Explicit is better than implicit. # 明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似) Simple is better than complex. # 简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现) Complex is better than complicated. # 复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁) Flat is better than nested. # 扁平胜于嵌套(优美的代码应当是扁平的,不能有太多的嵌套) Sparse is better than dense. # 间隔胜于紧凑(优美的代码有适当的间隔,不要奢望一行代码解决问题) Readability counts. # 可读性很重要(优美的代码是可读的) Special cases aren't special enough to break the rules. Although practicality beats purity. # 即便假借特例的实用性之名,也不可违背这些规则(这些规则至高无上) Errors should never pass silently. Unless explicitly silenced. # 不要包容所有错误,除非你确定需要这样做(精准地捕获异常,不写except:pass风格的代码) In the face of ambiguity, refuse the temptation to guess. # 当存在多种可能,不要尝试去猜测 There should be one-- and preferably only one --obvious way to do it. # 而是尽量找一种,最好是唯一一种明显的解决方案(如果不确定,就用穷举法) Although that way may not be obvious at first unless you're Dutch. # 虽然这并不容易,因为你不是 Python 之父(这里的Dutch是指Guido) Now is better than never. Although never is often better than *right* now. # 做也许好过不做,但不假思索就动手还不如不做(动手之前要细思量) If the implementation is hard to explain, it's a bad idea. If the implementation is easy to explain, it may be a good idea. # 如果你无法向人描述你的方案,那肯定不是一个好方案;反之亦然(方案测评标准) Namespaces are one honking great idea -- let's do more of those! # 如果你无法向人描述你的方案,那肯定不是一个好方案;反之亦然(方案测评标准)
不得不说,Python之禅不仅提醒我们写代码时应注意的事情,也包含着许多人生哲学,教导我们如何完善自我,成为一个优秀的程序员。希望大家参透Python之禅,不断提升自我,赢取美好未来!!!
-
python基本操作之字典
2018-08-12 16:10:10python基本操作之字典 创建字典 创建字典操作很简单,只需要记住使用大括号即可(python中的三种常用数据类型:列表 - [],元组 - (),字典 - {}) #创建一个空字典 dic = {} # 创建一个有初始值的...python基本操作之字典
一、创建字典
创建字典操作很简单,只需要记住使用大括号即可(python中的三种常用数据类型:列表 - [],元组 - (),字典 - {})
#创建一个空字典 dic = {} # 创建一个有初始值的字典 dic1 = {'Tom':15,'Jhon':13,'Marry':12}
当然,字典的键,值均可以是int类型。
二、增加键-值
对于以上的dic1,如果还想增加一个15岁的Bob,那么只需要:
dic1['Bob'] = 15
当然,和python的list一样,你无需保证字典里的每个元素有相同的数据类型,也就是说,你也可以在dic1中添加这样一个键-值对:
dic1[1] = 12
三、删除键-值
1、核武器级别的clear()方法
clear()方法可以用来清除字典中的所有数据,因为对字典造成了毁灭性的操作,所以也没必要有返回值。
dic1 = {'Tom':15,'Jhon':13,'Marry':12} dic1.clear()#执行操作后dic1变为{}
这里需要注意:当原字典被引用时,想清空原字典中的元素,用clear()方法,原字典中的元素也同时被清除了,即:
dic1 = {'Tom':15,'Jhon':13,'Marry':12} dic2 = dic1 dic2.clear() ## 同时dic1也变为{}
2、指哪打哪的pop()方法
pop()方法的作用是:删除指定给定键所对应的值,返回这个值并从字典中把它移除。注意字典pop()方法与列表pop()方法作用完全不同。
dic1 = {'Tom':15,'Jhon':13,'Marry':12} t = dic1.pop('Tom') print(t)##t = 15 print(dic1)##dic1 = {'Jhon':13,'Marry':12}
3、一个一个来的popitem()方法
字典popitem()方法作用是:随机返回并删除字典中的一对键和值(项)。因为字典是无序的,所以没有所谓的“最后一项”。
四、查找
1、通过键查找值
这是字典的本职工作。主要有两种情况:
- 通过键找到对应的值:
print(dic1['Tom'])
- 判断有无对应的键:使用函数
dic.__contains__(键)
,有这个键返回True
,没有返回False
2、通过值查找键
通过值查找键比较复杂,但是有时候也有这样的需求。虽然实现起来相对复杂一点,但依旧可以达到这样的目的,一般来说可通过如下3种方式实现:
1) 充分利用 keys()【获取字典里的所有键】 、values()【获取字典里的索引值】、index(值)【返回满足条件的 list 索引】 函数。代码如下:list (dic1.keys()) [list (dic1.values()).index (13)]#返回Jhon
2)通过定义get_key函数的方式。
def get_key (dict, value): return [k for k, v in dict.items() if v == value] t = get_key (dic1, 'Tom') # 返回t=15
3)将原字典dict进行反转得新字典new_dict,由原来的K-V存储形式,变为V-K存储形式
new_dict = {v : k for k, v in dict.items()} new_dict [15]#返回Tom
使用这种方法有一个前提条件:在原字典中,Value值必须是唯一且不重复的。以下两种情况会导致这种方法失败。
dic2 = {'Tom':15,'Jhon':13,'Marry':12,'Bob':12}#值有重复元素,这样转化成键的时候会随机删掉一个 dic3 = {'Tom':15,'Jhon':13,'Marry':[12,13]}#值不唯一,转化成键时违背字典键唯一的原则。
3、把字典key-值转化为list
dic_list = list(dic.items())
如果需要把键值对依次输出,可以使用for循环:
for item in dic_list: print(item)#依次输出键值对
五、遍历字典
(1)遍历key值
#方法一 for key in a: print(key+':'+a[key]) #方法二 for key in a.keys(): print(key+':'+a[key])
输出:
a:1 b:2 c:3
在使用上,
for key in a
和for key in a.keys()
完全等价。(2)遍历value值
for value in a.values(): print(value)
输出:
1 2 3
(3)遍历字典项(键+值)
for k,v in a.items(): print(k,v)
输出:
('a', '1') ('b', '2') ('c', '3')
注:
1)这里不能使用:for k,v in a:
。会报错
2)和列表不同,字典的输出顺序每次是不一样的。 - 通过键找到对应的值:
-
ElasticSearch python基本操作
2019-07-05 19:41:241、介绍 ... python提供了操作ElasticSearch 接口,因此要用python来操作ElasticSearch,首先要安装python的ElasticSearch包,用命令pip install elasticsearch安装或下载安装:https://pyp... -
Python基本操作1
2019-06-17 09:58:40点击进入python官方网页地址:https://www.python.org/,进入网页后选择Download,然后根据自己的操作系统选择正确的版本下载。如下图所示:(建议安装Python3.x版本) (2) Python的安装 点击执行Python3.x版本... -
Go 和 Python 基本操作对比
2019-01-22 16:10:35字符串替换 replace go c := strings.Replace("aaabbbaaabb", "bb", "aa" ,1) ...python c = "aaabbbaaabb".replace('b -
python基本操作总结(二)
2017-11-01 11:32:271 基本绘图1.1 绘制正态分布概率密度函数mu = 0 #均值 sigma = 1 #标准差 x = np.linspace(mu - 3 * sigma, mu + 3 * sigma, 50) #概率密度函数 y = np.exp(-(x - mu) ** 2 / (2 * sigma ** 2)) / (math.sqrt(2 * ... -
python 基本操作 多维数组 循环
2015-12-01 16:00:32也就是说matrix = [array] * 3操作中,只是创建3个指向array的引用,所以一旦array改变,matrix中3个list也会随之改变。 for num in range ( 10 ): [0,10) for num in range ( 10 ...
-
2021年 系统架构设计师 系列课
-
2014阿里巴巴校园招聘数据分析师职位笔试题目(回忆版).pdf
-
深搜(城堡问题)代码
-
FTP 文件传输服务
-
qengine:基于查询的处理引擎-源码
-
LVS + Keepalived 实现 MySQL 负载均衡与高可用
-
keepalived vrrp_script脚本不执行解决办法
-
395——至少有K个重复字符的最长子串
-
Spark BulkLoad批量读写Hbase
-
2021 年该学的 CSS 框架 Tailwind CSS 实战视频
-
PPT大神之路高清教程
-
插入排序算法-----希尔排序
-
C语言学生信息管理系统
-
其他软件中快捷键ctrl+shift+f会打开印象笔记
-
Day51(泛型)
-
中国电信云网融合2030技术白皮书.pdf
-
leetcode string 14 最长公共前缀
-
深入剖析mmap 从三个问题说起
-
华为1+X——网络系统建设与运维(中级)
-
Vue.js:父组件和子组件