python常用方法
⑴ python中字典常用的方法有哪些,分别有什么作用
写法:字典序列[key] = 值 ***字典为可变类型
常用方法:
1、# 新增字典中的数据
dict1 = {'name':'huu','age':20,'gender':'男'}
dict1['id'] = 133
print(dict1)
2、# 修改字典中的数据
dict1['name'] = 'xiauaiguai'
print(dict1)
3、删除字典或删除字典中指定键值对
del()/del:
dict1 = {'name':'huanghu','age':30,'gender':'男'}
# del(dict1) 直接将字典删除了,运行报错
del dict1['name']
print(dict1)
# del dict1[names] 删除不存在的key,运行报错
4、清空字典
clear():
dict1.clear() # 清空字典
print(dict1)
5、查找
key值查找
如果当前查找的key存在则返回对应的值,否则则报错
函数查找
get():如果当前查找的key不存在则返回第二个参数值(默认值),
如果省略第二个参数则返回 None
key()
dict1 = {'name':'huhu','age':20,'gender':'男'}
print(dict1['name']) # huhu
print(dict1['id']) # 报错
# 1, get()查找
print(dict1.get('name')) # huanghu
print(dict1.get('id',133)) # 133--如果当前查找的key不存在则返回第二个参数值(默认值)
print(dict1.get('id')) # None--如果省略第二个参数则返回 None
# 2, keys() 查找字典中所有的key,返回可迭代对象
print(dict1.keys()) # dict_keys(['name', 'age', 'gender'])
# 3,values() 查找字典中所有的values,
print(dict1.values()) # dict_values(['huanghu', 30, '男'])
# 4, items() 查找字典中所有的键值对,返回可迭代对象,里面的数据是元组,
元组数据1是字典中的key,元组数据2是字典key对应的值
print(dict1.items()) # dict_items([('name', 'huahu'), ('age', 20), ('gender', '男')])
⑵ python 通用的方法 都有哪些
一些常用的方法
1. 逆转字符串的三种方法
1.1. 模拟C++中方法, 定义一个空字符串来实现
通过设置一个空字符串, 然后讲参数中的字符串从后往前遍历, 使用字符串的加法合并为新的字符串
复制代码 代码如下:
def reverse(text) :
str = ''
index = len(text) - 1
while index >= 0 :
str += text[index]
index -= 1
return str
1.2. 使用切片法
这个是Python中的一个特性, 切片可以取负值,这是采用切片的方法,设置步长为-1,这样就实现了反过来排序。
复制代码 代码如下:
def reverse_1(text) :
return text[::-1]
1.3. 使用列表
采用列表的reverse方法,先将text转换为列表,然后通过reverse方法反转,然后在通过join连接为字符串。
复制代码 代码如下:
def reverse_2(text) :
temp = list(text)
temp.reverse()
return ''.join(temp)
2. 使用rece
使用匿名函数和rece()
复制代码 代码如下:
def reverse_3(text) :
return rece(lambda x, y : y + x, text)
print reverse_3("Hello")
3. 遍历字典的四种方法
复制代码 代码如下:
dict={"a":"apple","b":"banana","o":"orange"}
print "##########dict######################"
for i in dict:
print "dict[%s]=" % i,dict[i]
print "###########items#####################"
for (k,v) in dict.items():
print "dict[%s]=" % k,v
print "###########iteritems#################"
for k,v in dict.iteritems():
print "dict[%s]=" % k,v
print "###########iterkeys,itervalues#######"
for k,v in zip(dict.iterkeys(),dict.itervalues()):
print "dict[%s]=" % k,v
4. 遍历list的三种方法
复制代码 代码如下:
for key in lst :
print key
for i in range(len(lst)) :
print lst[i]
for index, key in enumerate(lst) :
print key //index是list的索引
5. 字典排序的方法
字典按照value的值从大到小的顺序来排序(默认从小到排序)。
复制代码 代码如下:
dic = {'a':31, 'bc':5, 'c':3, 'asd':4, 'aa':74, 'd':0}
dict= sorted(dic.iteritems(), key=lambda d:d[1], reverse = True)
print dict
//输出的结果:
[('aa', 74), ('a', 31), ('bc', 5), ('asd', 4), ('c', 3), ('d', 0)]
下面我们分解下代码
print dic.iteritems() 得到[(键,值)]的列表。
然后用sorted方法,通过key这个参数,指定排序是按照value,也就是第一个元素d[1的值来排序。reverse = True表示是需要翻转的,默认是从小到大,翻转的话,那就是从大到小。
对字典按键(key)排序:
复制代码 代码如下:
dic = {'a':31, 'bc':5, 'c':3, 'asd':4, 'aa':74, 'd':0}
dict= sorted(dic.iteritems(), key=lambda d:d[0]) # d[0]表示字典的键
print dict
#sorted中第三个可选参数为reverse, True表示从大到小排序
#默认reverse = False
6. 子类和父类
子类构造函数调用父类的初始化构造函数
复制代码 代码如下:
class A(object) :
def __init__(self) :
print "testA
class B(A) :
def __init__(self) :
A.__init__(self)
子类调用父类的同名函数
复制代码 代码如下:
super().fuleifunction()
7. 更灵活的参数传递方式
复制代码 代码如下:
func2(a=1, b=2, c=3) #默认参数
func3(*args) #接受任意数量的参数, 以tuple的方式传入
func4(**kargs) #把参数以键值对字典的形式传入
在变量前加上星号前缀(*),调用时的参数会存储在一个 tuple()对象中,赋值给形参。在函数内部,需要对参数进行处理时,只要对这个
tuple 类型的形参(这里是 args)进行操作就可以了。因此,函数在定义时并不需要指明参数个数,就可以处理任意参数个数的情况。
复制代码 代码如下:
def calcSum(*args):
sum = 0
for i in args:
sum += i
print sum
#调用:
calcSum(1,2,3)
calcSum(123,456)
calcSum()
#输出:
6
579
0
#################################
def printAll(**kargs):
for k in kargs:
print k, ':', kargs[k]
printAll(a=1, b=2, c=3)
printAll(x=4, y=5)
#输出:
a : 1
c : 3
b : 2
y : 5
x : 4
python的中参数可以多种形式进行组合, 在混合使用时,首先要注意函数的写法,必须遵守:
1.带有默认值的形参(arg=)须在无默认值的形参(arg)之后
2.元组参数(*args)须在带有默认值的形参(arg=)之后
3.字典参数(**kargs)须在元组参数(*args)之后
在函数被调用时,参数的传递过程为:
1.按顺序把无指定参数的实参赋值给形参
2.把指定参数名称(arg=v)的实参赋值给对应的形参
3.将多余的无指定参数的实参打包成一个 tuple 传递给元组参数(*args)
4.将多余的指定参数名的实参打包成一个 dict 传递给字典参数(**kargs)
8. lambda 表达式
lambda 表达式可以看做一种匿名函数
lambda 表达式的语法格式:
lambda 参数列表: 表达式 #参数列表周围没有括号,返回值前没有 return 关键字,也没有函数名称
复制代码 代码如下:
def fn(x):
return lambda y: x + y
#调用
a = fn(2)
print a(3)
#输出
5
分析
: fn(2)调用后, 相当于a = lambda y: 2 + y, 然后a(3)被调用时.
相当于 print lambda y: 2 + 3
⑶ Python列表的常用操作- 查找方法【详细讲解】
列表的作用是一次性存储多个数据,程序员可以对这些数据进行的操作有:增、删、改、查。
下面讲解的是对列表的查找操作,可以分为两种方法,一种是根据下标来进行查找,另外一种是根据查找函数来操作。
回忆一下知识点,之前讲过字符串的时候有说到下标,下标是计算机内存分配的从0开始的编号,目的是根据下标可以找到针对性的数据。列表也可以根据下标来找到数据,后面学习的元组同样也可以。
语法:
注意:如果以后都是用下标来查找数据,语法无非就是:序列名[下标]
快速体验:
打印结果如图:
语法:
快速体验:
执行结果如图:
注意:
语法:
快速体验:
注意 :
-- 2. 如果书写了开始和结束位置的下标,则在这个范围内查找,存在则返回开始位置的下标,如果查找的数据不存在则返回0;
语法:
注意: len()方法是一个公共的方法,无论是字符串、列表还是元组都可以使用
快速体验:
以上就是列表的4种查找方法,每个方法有自己的语法和作用,这个知识点属于 Python基础教程 范畴,所以学起来还是比较轻松地,大家主要多多练习记住函数以及使用方法即可。
⑷ 学python的10个有效方法有哪些
学习python主要是自学或者报班学习的方式,但不建议自学。
如果想通过学习python改行,那就需要明确一下自己的方向。因为python编程有很多方向,有网络爬虫、数据分析、Web开发、测试开发、运维开发、机器学习、人工智能、量化交易等等,各个方向都有特定的技能要求。
想学的话,当然是可以学习的。python是一门语法优美的编程语言,不仅可以作为小工具使用提升我们日常工作效率,也可以单独作为一项高新就业技能!
python可以做的事情:
软件开发:用python做软件是很多人正在从事的工作,不管是B/S软件,还是C/S软件,都能做。并且需求量还是挺大的;
数据挖掘:python可以制作出色的爬虫工具来进行数据挖掘,而在很多的网络公司中数据挖掘的岗位也不少;
游戏开发:python扩展性很好,拥有游戏开发的库,而且游戏开发绝对是暴力职业;
大数据分析:如今是大数据的时代,用python做大数据也是可以的,大数据分析工程师也是炙手可热的职位;
全栈工程师:如今程序员都在向着全栈的方向发展,而学习python更具备这方面的优势;
系统运维:python在很多linux中都支持,而且语法特点很向shell脚本,学完python做个系统运维也是很不错的。
互联网行业目前还是最热门的行业之一,学习IT技能之后足够优秀是有机会进入腾讯、阿里、网易等互联网大厂高薪就业的,发展前景非常好,普通人也可以学习。
想要系统学习,你可以考察对比一下开设有相关专业的热门学校,好的学校拥有根据当下企业需求自主研发课程的能力,能够在校期间取得大专或本科学历,中博软件学院、南京课工场、南京北大青鸟等开设相关专业的学校都是不错的,建议实地考察对比一下。
祝你学有所成,望采纳。
⑸ 学python的10个有效方法有哪些
python,人工智能 5G时代 想必大家这些字眼一定不会陌生 因为趋势所然 势比人大 可是 完全是跨行业的学生或者工薪一族如何去蜕变 并且和时代完美接轨呢 并且这个时代懂编程 懂技术 懂互联网的人 工资都很丰厚 想必大家都有所了解。作为一名多年python工作码农 给大家分享下过来人的学习经验吧 希望对大家能有点帮助
一、在学习Python之前 选择好方向
相信大多人在学习Python之前 肯定都自己了解过这门语言,也知道Python有很多的学习方向,比如说数据采集方向(爬虫),或者Web开发方向,也可能是最近特别火热的人工智能方向。每个方向所需要的技术都是不尽相同的,所以在我们学习完成Python的基础语法之后,一定要慎重选择自己之后的进阶方向。
二 学习Python的基础语言
就像学习其他编程语言或者是学习一门外语一样 ,我们应该从Python的基础语法开始学习 ,了解什么是Python的变量 什么是循环 什么是函数,什么是模块。类等等。总之,基础是学习以后高级开发的基石。
三、学习Python的文件操作
学习完基础之后,我们肯定要进行一些简单的联系。文件的操作是我们不二的选择,因为无论是文本文件。XML格式的文件还是Office办公系列的文件。我们统称之为文件操作。
我们在学习文件操作的时候,要学习文件的写入和读取 以及了解各种文件之间的读写不同知识点。相信在学习完成之后,对于文件的操作 大家一定会得心应手。
四、学习Python的网络编程
在我们这个时代 ,相信大多数是离不开互联网的,我们要学习网络编程。一般了解一下三个方面就可以了。
1.写出基本的TCP连接,知道编写TCP的各个步骤,例如创建socket、绑定port、端口复用等,对TCP稍微做了解,知道协议的每个字段,了解三次握手
2.了解基本的服务器并发模型,例如多进程、多线程、IO复
3.了解一些网络库例如twisted
五、学习Python的数据库编程在我们学习完成Python的文件操作处理之后 肯定会对于文件的不便性有一定的理解。所以这个时候我们就要学习Python的数据库编程了。数据库有Mysql数据库,Oracle数据库和Sqlite数据库。Sqlite数据库是Python自身拥有的,而其他的数据库则需要我们安装相应的操作模块。一般 我们学习Mysql数据库的操作即可。数据库的增加数据,删除数据,以及查询数据 以及对应的SQL语句是我们学习的重点。
六、Python高级进阶(一):Web方向
在我们学习完成之前的基础知识之后,我们就要开始学习实战项目了。我们可以使用Python编写一个博客网站。通过网站的编程知识的学习。我们可以充分巩固我们之前所学的文件操作,数据库编程以及网络编程。是学习提高的好方法。一般Django框架是学习Python Web编程的首选框架。
七、Python高级进阶(二):人工智能方向
Python在人工智能方向上的运用是非常广泛的。深度学习是我们需要掌握的,我们可以学习谷歌的开源人工智能框架TensorFlow。以及Numpy这种工具可用来存储和处理大型矩阵,是学习人工智能敲门砖。在掌握这些知识以后,我相信大家就可以根据自己的实际情况来进入深入学习了。
八、python的知识储备1.python基础知识(变量、语句、数据类型等等,买本入门知识或者是去网上找关于python的基础知识)
2.了解python的基础库(模块、包、系统模块、三方模块,python的库是相当多的,这也是它受欢迎的原因之一)
3.python的文字处理
4.python数据排序
5、数学基础:微积分、线性代数、概率与统计、离散数学
九、自学或者培训的选择 定力自律性强自学 并给大家推荐一个不错的学习网站创客学院十、学习需要名师指路 或者良好的学习氛围 遇到问题互相指教 一个python人热爱的学习QQ裙【python学习创客群】
自己的一些拙见 希望对大家有帮助 对您有用的话 可以点个赞 谢谢大家。
⑹ 运行python程序的两种方式
运行python程序的两种方式是什么?python有两种运行方式:交互式和脚本式。交互式可以通过cmd命令行窗口或者IDEL实现,而脚本式通过写一个脚本(.py结尾的文档)实现。其中交互式主要用于简单的python运行或者测试调试python时用到,而脚本式是运行python程序的主要方法。
第一,交互式,通过Windows命令行工具进行交互式运行python。同时按下Windows键和R键,启动“运行”,在“运行”中输入cmd然后回车,即弹出命令行工具,然后输入python回车,即出现如下界面。
第二,然后输入print('Helloworld!'),既可以敲一行代码,与python交互一次,python执行一次。
第三,通过IDEL交互式运行python。从“开始”中找到Python->IDEL,如下图。
第四,启动IDEL后,同样输入print('Helloworld!'),既可以敲一行代码,与python交互一次,python执行一次。只不过IEDL中python代码可以高亮显示。
第五,脚本式运行python,在IDEL中点击file->newfile,就会弹出一个未命名(Untitled)的脚本窗口,然后输入如下代码,并按Ctrl+S保存。
#20181216摄氏温度和华氏温度之间转换
t=input('请输入带有单位符号的温度(例如37C或者100F):')
ift[-1]in('f','F'):
C=(eval(t[:-1])-32)/1.8 #如果输入为华氏温度,那么转换为摄氏温度
print('转变为摄氏温度%.2fC为:'%C)
elift[-1]in('c','C'):
F=eval(t[:-1])*1.8+32 #如果输入为摄氏温度,那么转换为华氏温度
print('转变为华氏温度%.2fF为:'%F)
else:
print('输入格式有误,请输入带有单位符号的温度(例如37C或者100F):')
第六,按F5运行上一步保存的***.py脚本,就会出现如下界面,提示:请输入带有单位符号的温度(例如37C或者100F),随便输入一下就行,即通过脚本运行了python。
那么,有关运行python程序的两种方式的内容,小编就介绍到这里了。小伙伴们可以用心了解一下哦!
本篇文章使用以下硬件型号:联想小新Air15;系统版本:win10;软件版本:python3.0。
⑺ Python中常见魔法方法介绍
魔法方法 (Magic Methods) 是Python中的内置函数,一般以双下划线开头和结尾,例如__ init__ 、 __del__ 等。之所以称之为魔法方法,是因为这些方法会在进行特定的操作时会自动被调用。
在Python中,可以通过dir()方法来查看某个对象的所有方法和属性,其中双下划线开头和结尾的就是该对象的魔法方法。以字符串对象为例:
可以看到字符串对象有 __add__ 方法,所以在Python中可以直接对字符串对象使用"+"操作,当Python识别到"+"操作时,就会调用该对象的 __add__ 方法。有需要时我们可以在自己的类中重写 __add__ 方法来完成自己想要的效果。
我们重写了 __add__ 方法,当Python识别"+"操作时,会自动调用重写后的 __add__ 方法。可以看到,魔法方法在类或对象的某些事件出发后会自动执行,如果希望根据自己的程序定制特殊功能的类,那么就需要对这些方法进行重写。使用魔法方法,我们可以非常方便地给类添加特殊的功能。
1、构造与初始化
__ new __ 、 __ init __ 这两个魔法方法常用于对类的初始化操作。上面我们创建a1 = A("hello")时,但首先调用的是 __ new __ ;初始化一个类分为两步:
a.调用该类的new方法,返回该类的实例对象
b.调用该类的init方法,对实例对象进行初始化。
__new__ (cls, *args, **kwargs)至少需要一个cls参数,代表传入的类。后面两个参数传递给 __ init __ 。在 __ new __ 可以决定是否继续调用 __ init __ 方法,只有当 __ new __ 返回了当前类cls的实例,才会接着调用 __ init __ 。结合 __ new __ 方法的特性,我们可以通过重写 __ new __ 方法实现Python的单例模式:
可以看到虽然创建了两个对象,但两个对象的地址相同。
2、控制属性访问这类魔法
方法主要对对象的属性进行访问、定义、修改时起作用。主要有:
__getattr__(self, name): 定义当用户试图获取一个属性时的行为。
__getattribute__(self, name):定义当该类的属性被访问时的行为(先调用该方法,查看是否存在该属性,若不存在,接着去调用getattr)。
__setattr__(self, name, value):定义当一个属性被设置时的行为。
当初始化属性时如self.a=a时或修改实例属性如ins.a=1时本质时调用魔法方法self. __ setattr __ (name,values);当实例访问某个属性如ins.a本质是调用魔法方法a. __ getattr __ (name)
3、容器类操作
有一些方法可以让我们自己定义自己的容器,就像Python内置的List,Tuple,Dict等等;容器分为可变容器和不可变容器。
如果自定义一个不可变容器的话,只能定义__ len__ 和__ getitem__ ;定义一个可变容器除了不可变容器的所有魔法方法,还需要定义__ setitem__ 和__ delitem__ ;如果容器可迭代。还需要定义__ iter __。
__len__(self):返回容器的长度
__getitem__(self,key):当需要执行self[key]的方式去调用容器中的对象,调用的是该方法
__setitem__(self,key,value):当需要执行self[key] = value时,调用的是该方法
__iter__(self):当容器可以执行 for x in container:,或者使用iter(container)时,需要定义该方法
下面举一个例子,实现一个容器,该容器有List的一般功能,同时增加一些其它功能如访问第一个元素,最后一个元素,记录每个元素被访问的次数等。
这类方法的使用场景主要在你需要定义一个满足需求的容器类数据结构时会用到,比如可以尝试自定义实现树结构、链表等数据结构(在collections中均已有),或者项目中需要定制的一些容器类型。
魔法方法在Python代码中能够简化代码,提高代码可读性,在常见的Python第三方库中可以看到很多对于魔法方法的运用。
因此当前这篇文章仅是抛砖引玉,真正的使用需要在开源的优秀源码中以及自身的工程实践中不断加深理解并合适应用。
⑻ Python中执行系统命令常见的几种方法
作为胶水语言,Python可以很方便地执行系统命令,从而帮助我们快速的完成任务;而且Python执行系统命令可采用的方法有很多,本文重点介绍一下:os.system()、os.popen()和subprocess模块。
1. os.system()
这个方法直接调用标准C的system()函数,仅仅在一个子终端运行系统命令,而不能获取执行返回的信息。
>>> import os
>>> output = os.system('cat /proc/cpuinfo')
processor : 0
vendor_id : AuthenticAMD
cpu family : 21
... ...
>>> output # doesn't capture output
0
2. os.popen()
这个方法执行命令并返回执行后的信息对象,是通过一个管道文件将结果返回。
>>> output = os.popen('cat /proc/cpuinfo')
>>> output
>>> print output.read()
processor : 0
vendor_id : AuthenticAMD
cpu family : 21
... ...
>>>
3. subprocess模块
该模块是一个功能强大的子进程管理模块,是替换os.system, os.spawn*等方法的一个模块。
>>> import subprocess
>>> subprocess.Popen(["ls", "-l"]) # python2.x doesn't capture
output
>>> subprocess.run(["ls", "-l"]) # python3.x doesn't capture
output
>>> total 68
drwxrwxr-x 3 xl xl 4096 Feb 8 05:00 com
drwxr-xr-x 2 xl xl 4096 Jan 21 02:58 Desktop
drwxr-xr-x 2 xl xl 4096 Jan 21 02:58 Documents
drwxr-xr-x 2 xl xl 4096 Jan 21 07:44 Downloads
... ...
>>>
⑼ Python字典创建、基本操作以及常用方法
创建一个空字典自需要一对大括号即可,从已有的键-值对映射或关键字参数创建字典需要使用 dict 函数(类)
把一个列表转为字典,列表的每一项都是长度为2的序列。
还可使用 关键字实参 (**kwargs)来调用这个函数,如下所示:
字典的基本操作与序列十分相似:
字典与序列的不同:
方法 clear 删除所有的字典项(key-value)。
复制,得到原字典的一个新副本。
效果等同于调用 dict(d) 创建新字典。
() 执行的是 浅复制 ,若字典的值是一个可变对象,那么复制以后,相同一个键将关联到同一个对象,修改该对象,将同时修改两个字典。
模块中的函数deep 可执行深复制。
方法fromkeys 创建一个新字典,其中包含指定的键,且每个键对应的值都是None,或者可以提供一个i额默认值。
方法get 为访问字典项提供了宽松的环境。通常,如果你试图访问字典中没有的项,将引发错误,而get直接返回None,或者可设置默认返回值。
当字典中不存在指定键时, setdefault(k,v) 添加一个指定键-值对;且返回指定键所关联的值。
这三个方法返回值属于一种名为 字典视图 的特殊类型。字典视图可用于迭代。另外,还可确定其长度以及对其执行成员资格检查。
这三个方法自大的特点是不可变,当你的接口试图对其他用户提供一个只读字典,而不希望他们修改的时候,这三个方法是很有用的;而且当原字典发生改变时,这些方法返回的对象也会跟着改变。
方法 pop 可用于获取与指定键相关联的值,并将该键-值对从字典中删除。
popitem随机删除一个键-值对,并返回一个二维的元组 (key, value) ,因为字典是无序的,所以其弹出的顺序也是不确定的。
书上说,这个方法在大数据量时执行效率很高,但没有亲测。
方法update 使用一个字典中的项来更新另一个字典。
⑽ python字符串常用方法
python字符串常用方法
1. Python字符串拼接(包含字符串拼接数字)
2. Python截取字符串(字符串切片)
3. Python 的len()函数:获取字符串长度或字节数
4. Python split()方法:分割字符串
5. Python join()方法:合并字符串
6. Python count()方法:统计字符串出现的次数
7. Python find()方法:检测字符串中是否包含某子串
8. Python index()方法:检测字符串中是否包含某子串
9. Python字符串对齐方法(ljust()、rjust()和center())
10. Python startswith()和endswith()方法
11. Python字符串大小写转换(3种)函数
12. Python去除字符串中空格(删除指定字符)的3种方法