当前位置: 首页 > 编程日记 > 正文

Python最常用的函数、基础语句有哪些?

6634b026beb352d3b14f95682cb64dd1.gif

作者 | 朱卫军

来源 | Python大数据分析

Python有很多好用的函数和模块,这里给大家整理下我常用的一些方法及语句。

一、内置函数

内置函数是python自带的函数方法,拿来就可以用,比方说zip、filter、isinstance等。

下面是Python官档给出的内置函数列表,相当的齐全。

a4e8c9cdd5c0831358f26a0631294d2c.png

下面几个是常见的内置函数:

1、enumerate(iterable,start=0)

enumerate()是python的内置函数,是枚举、列举的意思

对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值

在python中enumerate的用法多用于在for循环中得到计数

seasons = ['Spring', 'Summer', 'Fall', 'Winter']
list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
list(enumerate(seasons, start=1))
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]

2、zip(*iterables,strict=False)

zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。

如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。

zip(iterable1,iterable2, ...)

>>> for item in zip([1, 2, 3], ['sugar', 'spice', 'everything nice']):
...     print(item)
...
(1, 'sugar')
(2, 'spice')
(3, 'everything nice')

3、filter(function,iterable)

filter是将一个序列进行过滤,返回迭代器的对象,去除不满足条件的序列。

filter(function,data)

function作为条件选择函数

比如说定义一个函数来检查输入数字是否为偶数。如果数字为偶数,它将返回True,否则返回False。

def is_even(x):if x % 2 == 0:return Trueelse:return False

然后使用filter对某个列表进行筛选:

l1 = [1, 2, 3, 4, 5]
fl = filter(is_even, l1)
list(fl)

4、isinstance(object,classinfo)

「isinstance」是用来判断某一个变量或者是对象是不是属于某种类型的一个函数

如果参数object是classinfo的实例,或者object是classinfo类的子类的一个实例, 返回True。如果object不是一个给定类型的的对象, 则返回结果总是False

>>>a = 2
>>> isinstance (a,int)
True
>>> isinstance (a,str)
False
>>> isinstance (a,(str,int,list))    # 是元组中的一个返回 True
True

5、eval(expression[,globals[,locals]])

eval用来将字符串str当成有效的表达式来求值并返回计算结果

表达式解析参数expression并作为 Python 表达式进行求值(从技术上说是一个条件列表),采用globals和locals字典作为全局和局部命名空间。

>>>x = 7
>>> eval( '3 * x' )
21
>>> eval('pow(2,2)')
4
>>> eval('2 + 2')
4
>>> n=81
>>> eval("n + 4")
85

常用句式

在日常代码过程中,其实有很多常用的句式,出现频率非常高,也是大家约定俗成的写法。

「1、format字符串格式化」

format把字符串当成一个模板,通过传入的参数进行格式化,非常实用且强大

# 格式化字符串
print('{} {}'.format('hello','world')) # 浮点数
float1 = 563.78453
print("{:5.2f}".format(float1))

「2、连接字符串」

使用+连接两个字符串

string1 = "Linux"
string2 = "Hint"
joined_string = string1 + string2
print(joined_string)

「3、if...else条件语句」

Python 条件语句是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块。

其中if...else语句用来执行需要判断的情形。

# Assign a numeric value
number = 70# Check the is more than 70 or not
if (number >= 70):print("You have passed")
else:print("You have not passed")

「4、for...in、while循环语句」

循环语句就是遍历一个序列,循环去执行某个操作,Python 中的循环语句有 for 和 while。

for循环

# Initialize the list
weekdays = ["Sunday", "Monday", "Tuesday","Wednesday", "Thursday","Friday", "Saturday"]
print("Seven Weekdays are:\n")
# Iterate the list using for loop
for day in range(len(weekdays)):print(weekdays[day])

while循环

# Initialize counter
counter = 1
# Iterate the loop 5 times
while counter < 6:# Print the counter valueprint ("The current counter value: %d" % counter)# Increment the countercounter = counter + 1

「5、import导入其他脚本的功能」

有时需要使用另一个 python 文件中的脚本,这其实很简单,就像使用 import 关键字导入任何模块一样。

「vacations.py」

# Initialize values
vacation1 = "Summer Vacation"
vacation2 = "Winter Vacation"

比如在下面脚本中去引用上面vacations.py中的代码

# Import another python script
import vacations as v# Initialize the month list
months = ["January", "February", "March", "April", "May", "June","July", "August", "September", "October", "November", "December"]
# Initial flag variable to print summer vacation one time
flag = 0# Iterate the list using for loop
for month in months:if month == "June" or month == "July":if flag == 0:print("Now",v.vacation1)flag = 1elif month == "December":print("Now",v.vacation2)else:print("The current month is",month)

「6、列表推导式」

Python 列表推导式是从一个或者多个迭代器快速简洁地创建数据类型的一种方法,它将循环和条件判断结合,从而避免语法冗长的代码,提高代码运行效率。能熟练使用推导式也可以间接说明你已经超越了 Python 初学者的水平。

# Create a list of characters using list comprehension
char_list = [ char for char in "linuxhint" ]
print(char_list)# Define a tuple of websites
websites = ("google.com","yahoo.com", "ask.com", "bing.com")# Create a list from tuple using list comprehension
site_list = [ site for site in websites ]
print(site_list)

「7、读写文件」

与计算的交互式Python最常使用的场景之一,比如去读取D盘中CSV文件,然后重新写入数据再保存。这就需要python执行读写文件的操作,这也是初学者要掌握的核心技能。

#Assign the filename
filename = "languages.txt"
# Open file for writing
fileHandler = open(filename, "w")# Add some text
fileHandler.write("Bash\n")
fileHandler.write("Python\n")
fileHandler.write("PHP\n")# Close the file
fileHandler.close()# Open file for reading
fileHandler = open(filename, "r")# Read a file line by line
for line in fileHandler:print(line)# Close the file
fileHandler.close()

「8、切片和索引」

形如列表、字符串、元组等序列,都有切片和索引的需求,因为我们需要从中截取数据,所以这也是非常核心的技能。

6e308f82deeb230320b87eac2c8bf006.png

var1 = 'Hello World!'
var2 = "zhihu"print ("var1[0]: ", var1[0])
print ("var2[1:5]: ", var2[1:5])

「9、使用函数和类」

函数和类是一种封装好的代码块,可以让代码更加简洁、实用、高效、强壮,是python的核心语法之一。

定义和调用函数

# Define addition function
def addition(number1, number2):result = number1 + number2print("Addition result:",result)# Define area function with return statement
def area(radius):result = 3.14 * radius * radiusreturn result  # Call addition function
addition(400, 300)
# Call area function
print("Area of the circle is",area(4))

定义和实例化类

# Define the class
class Employee:name = "Mostak Mahmud"# Define the methoddef details(self):print("Post: Marketing Officer")print("Department: Sales")print("Salary: $1000")# Create the employee object    
emp = Employee()
# Print the class variable
print("Name:",emp.name)
# Call the class method
emp.details()

「10、错误异常处理」

编程过程中难免会遇到错误和异常,所以我们要及时处理它,避免对后续代码造成影响。

所有的标准异常都使用类来实现,都是基类Exception的成员,都从基类Exception继承,而且都在exceptions模块中定义。

Python自动将所有异常名称放在内建命名空间中,所以程序不必导入exceptions模块即可使用异常。一旦引发而且没有捕捉SystemExit异常,程序执行就会终止。

异常的处理过程、如何引发或抛出异常及如何构建自己的异常类都是需要深入理解的。

# Try block
try:# Take a numbernumber = int(input("Enter a number: "))if number % 2 == 0:print("Number is even")else:print("Number is odd")# Exception block    
except (ValueError):# Print error messageprint("Enter a numeric value")

小结

当然Python还有很多有用的函数和方法,需要大家自己去总结,这里抛砖引玉,希望能帮助到需要的小伙伴。

917998daad695dfbb778fc4b366223f7.gif

技术

Python多层级索引的数据分析

资讯

红帽、Docker、SUSE在俄停服

技术

太强了!Python开发桌面小工具

技术

一行Python代码能干嘛?来看!

b89b1fd978b041636510dea49020c0c2.png

分享

5d835c2605e540943d5b06d840b883ce.png

点收藏

12ad37ed0814cbe93e5d8219ba8ab0df.png

点点赞

bf22ac4e29ce89880f4311c6257987d2.png

点在看

相关文章:

1.5s~0.02s,期间我们可以做些什么?

原文是在我自己博客中&#xff0c;小伙伴也可以点阅读原文进行跳转查看&#xff0c;还有好听的背景音乐噢背景音乐已取消~ 2333333大爷我就算功能重做&#xff0c;模块重构&#xff0c;我也不做优化&#xff01;&#xff01;&#xff01;运行真快&#xff01; 前言 本文主要探讨…

Python 自动化办公之 Excel 拆分并自动发邮件

作者 | 周萝卜来源 | 萝卜大杂烩今天我们来分享一个真实的自动化办公案例&#xff0c;希望各位 Python 爱好者能够从中得到些许启发&#xff0c;在自己的工作生活中更多的应用 Python&#xff0c;使得工作事半功倍&#xff01;需求需要向大约 500 名用户发送带有 Excel 附件的电…

In Gradle projects, always use http://schemas.andr

2019独角兽企业重金招聘Python工程师标准>>> 版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。 在做项目自定义时候遇到这个错误 In Gradle projects, always use http://schemas.android.com/apk/res-auto for custom attributes 解决办…

HTTP POST慢速DOS攻击初探

1. 关于HTTP POST慢速DOS攻击 HTTP Post慢速DOS攻击第一次在技术社区被正式披露是今年的OWASP大会上&#xff0c;由Wong Onn Chee 和 Tom Brennan共同演示了使用这一技术攻击的威力。他们的slides在这里&#xff1a; http://www.darkreading.com/galleries/security/applicatio…

Java 学习(20)--异常 /  IO 流

异常&#xff08;Exception&#xff09; (1)程序出现的不正常的情况。 (2)异常的体系 Throwable&#xff08;接口&#xff0c;将异常类对象交给 JVM 来处理&#xff09; |--Error 严重问题&#xff0c;我们不处理。(jvm 错误&#xff0c;程序无法处理) |--Exception 异常 …

runtime自动归档/解档

原文出自&#xff1a;标哥的技术博客 前言 善用runtime&#xff0c;可以解决自动归档解档。想想以前归档是手动写的&#xff0c;确实太麻烦了。现在有了runtime&#xff0c;我们可以做到自动化了。本篇文章旨在学习如何通过runtime实现自动归档和解档&#xff0c;因此不会对所有…

Ivanti 洞察职场新趋势:71% 的员工宁愿放弃升职也要选择随处工作

近日&#xff0c;为从云端到边缘的 IT 资产提供检测、管理、保护和服务的自动化平台供应商 Ivanti 公布了其年度无处不在的办公空间&#xff08; Everywhere Workplace&#xff09; 调查结果。这项调查是Ivanti与全球“未来工作”专家共同完成的&#xff0c;调查范围涵盖 6100 …

Shippable和Packet合作提供原生ARM CI/CD

DevOps自动化平台Shippable和裸金属云服务提供商Packet联合发布了一种新的持续集成和交付&#xff08;CI/CD&#xff09;托管服务&#xff0c;适用于在Armv8-A架构上开发软件应用的开发人员。该解决方案支持开源和商业软件项目&#xff0c;用于在Packet提供的基于ARM的云服务上…

阿里云ECS架设***过程总结

原文地址:最近开发移动项目,数据库服务是架设在电信服务器上,可怜我的联通网络本地调试直接x碎了一地!!度娘相关资料后,最终决定在阿里云ECS上架设作为跳板来访问电信服务器!一.原理1.阿里云ECS上架设.2.本地连接使用拨号到阿里云ECS.3.使用阿里云ECS网络访问电信服务器.使用前…

MYSQL的MERGE存储引擎

MYSQL的引擎不是一般的多&#xff0c;这次说到的是MERGE&#xff0c;这个引擎有很多特殊的地方&#xff1a; MERGE引擎类型允许你把许多结构相同的表合并为一个表。然后&#xff0c;你可以执行查询&#xff0c;从多个表返回的结果就像从一个表返回的结果一样。每一个合并的表必…

Pandas SQL 语法归纳总结,真的太全了

作者 | 俊欣来源 | 关于数据分析与可视化对于数据分析师而言&#xff0c;Pandas与SQL可能是大家用的比较多的两个工具&#xff0c;两者都可以对数据集进行深度的分析&#xff0c;挖掘出有价值的信息&#xff0c;但是二者的语法有着诸多的不同&#xff0c;今天小编就来总结归纳一…

分布式RPC实践--Dubbo基础篇

2019独角兽企业重金招聘Python工程师标准>>> 简介 Dubbo是阿里巴巴开源的一个高性能的分布式RPC框架&#xff0c;整个框架的核心原理来源于生产者与消费者的运作模型&#xff1b;框架的核心分4大部分&#xff1a; 1. 服务注册中心 注册中心主要用于保存生产者消费者…

又居家办公了,要签合同怎么办?

本篇文章暨 CSDN《中国 101 计划》系列数字化转型场景之一。 《中国 101 计划——探索企业数字化发展新生态》为 CSDN 联合《新程序员》、GitCode.net 开源代码仓共同策划推出的系列活动&#xff0c;寻访一百零一个数字化转型场景&#xff0c;聚合呈现并开通评选通道&#xff0…

lombox的用法(省去了set/get/NoArgsConstructor/AllArgsConstructor)

1、环境的搭建&#xff0c;在eclipse下的eclipse.ini中添加以下参数&#xff0c;-Xbootclasspath/a:C:\repository\org\projectlombok\lombok\1.16.6\lombok-1.16.6.jar-javaagent:C:\repository\org\projectlombok\lombok\1.16.6\lombok-1.16.6.jar重启你的eclipse.2、将lombo…

mysql 压力测试脚本

#创建表DEPTCREATE TABLE dept( /*部门表*/deptno MEDIUMINT UNSIGNED NOT NULL DEFAULT 0,dname VARCHAR(20) NOT NULL DEFAULT "",loc VARCHAR(13) NOT NULL DEFAULT "") ENGINEMyISAM DEFAULT CHARSETutf8 ;#创建表EMP雇员CREATE TABLE emp(empno…

C++语言学习(十二)——C++语言常见函数调用约定

C语言学习&#xff08;十二&#xff09;——C语言常见函数调用约定 一、C语言函数调用约定简介 C /C开发中&#xff0c;程序编译没有问题&#xff0c;但链接的时候报告函数不存在&#xff0c;或程序编译和链接都没有错误&#xff0c;但只要调用库中的函数就会出现堆栈异常等现象…

PHP代码保护——Zend Guard

Zend Guard的作用&#xff0c;就是用编译处理的方式来保护PHP源代码免于被反编译查看、未经授权的定制修改、未经许可的使用和重新发布等。而且&#xff0c;它是PHP的东家Zend公司开发的&#xff0c;是完全为PHP量身定做的保护神。 下面&#xff0c;请大家就和我一起来学习使用…

Python 2.4 递归函数

递归函数在函数内部&#xff0c;可以调用其他函数。如果一个函数在内部调用本身&#xff0c;这个函数就是递归函数。举个例子&#xff1a;计算阶乘n!1*2*3*4*5*...*n&#xff0c;用函数fact(n)表示&#xff0c;可以看出fact(n)n!f(n-1)*n所以&#xff0c;fact(n)可以表示为n*fa…

生于俄罗斯的 Web 服务器王者 Nginx,现宣布俄罗斯禁止贡献!

作者 | 苏宓出品 | CSDN不久之前&#xff0c;一些底层工具、软件、开源项目相继宣布在俄罗斯停服&#xff0c;彼时也有不少开发者呼吁 Nginx 是时候进行反限制了。万万没想到&#xff0c;就在国际局势发生改变的一个月后&#xff0c;Nginx 动了手&#xff0c;但是有些「意料之外…

OCP换考题了,052新考题及答案整理-第17题

17、Which two statements are true about tablespaces? A) A database can contain multiple undo tablespaces. B) A database can contain only a single temporary tablespace. C) A database instance stores undo data In the SYSTEM tablespace If no undo tablespace …

linux的mount(挂载)命令详解

linux下挂载&#xff08;mount&#xff09;光盘镜像文件、移动硬盘、U盘、Windows和NFS网络共享 linux是一个优秀的开放源码的操作系统&#xff0c;可以运行在大到巨型小到掌上型各类计算机系统上&#xff0c;随着 linux系统的日渐成熟和稳定以及它开放源代码特有的优越性&…

GPT-3 再更新,新增编辑和插入文本功能,简直不要太好用!

编译 | 禾木木出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;GPT-3 是 OpenAL 提出的基于上下文的超大规模自然处理深度学习模型。这意味着如果你给 GPT-3 某些上下文内容时&#xff0c;它会试图去填充其余内容。例如给出句子的前部分&#xff0c;它会推测出下半部分…

scala akka 修炼之路5(scala特质应用场景分析)

scala中特质定义&#xff1a;包括一些字段&#xff0c;行为(方法/函数/动作)和一些未实现的功能接口的集合&#xff0c;能够方便的实现扩展或混入到已有类或抽象类中。 scala中特质(trait)是一个非常实用的特性&#xff0c;在程序设计中能够 更好的抽象现实。使程序更关注各自功…

6.2 sql安全性

最后的例子将显示如何通过现有证书创建-个新的用户。本章稍后会介绍证书&#xff0c;但在 这个例子中&#xff0c;首先创建证书&#xff0c;然后创建用户&#xff1a; USE AdventureWorks2008; CREATE CERTIFICATE SalesCert ENCRYPTION BY PASSWORD Pssw0rd WITH SUBJECT fSa…

2022,人工智能开启未来新密码

作者 | 剑客阿良_ALiang&#xff08;胡逸&#xff09; 出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09; 购买大型电器、汽车&#xff0c;你是否会询问有没有智能语音功能&#xff1f;是的&#xff0c;潜移默化中人们已经不再将人工智能当作魔术&#xff0c;而是习以为…

PHP Socket配置以及实例

2个php测试文件 server.php <?php//phpinfo();//确保在连接客户端时不会超时set_time_limit(0);$ip 127.0.0.1;$port 1935;/*-------------------------------* socket通信整个过程-------------------------------* socket_create* socket_bind* socket_lis…

Windows下msysGit使用及相关配置

Windows下msysGit使用及相关配置

使用可信证书为windows RDP服务提供加密

2019独角兽企业重金招聘Python工程师标准>>> 0x01 前言 在windows server下可以通过配置远程桌面服务为RDP连接提供有效的数字证书以便提高安全性。 可是个人用户或并没有部署域控制器的用户是无法通过这种途径修改RDP所使用的数字证书&#xff0c;在不安全的环境中…

JavaScript跨域总结与解决办法

JavaScript跨域总结与解决办法 什么是跨域1、document.domainiframe的设置2、动态创建script3、利用iframe和location.hash4、window.name实现的跨域数据传输5、使用HTML5 postMessage6、利用flash本文来自网络&#xff08;http://f2e.me/200904/cross-scripting/&#xff0c;该…

这几个 Python 的小技巧,你会么?

来源丨Python小二作者 Peter Gleeson 是一名数据科学家&#xff0c;日常工作几乎离不 python。一路走来&#xff0c;他积累了不少有用的技巧和 tips&#xff0c;现在就将这些技巧分享给大家。这些技巧将根据其首字母按 A-Z 的顺序进行展示。ALL OR ANYPython 之所以成为这么一门…