Python速成,python编程快速入门

Python速成,python编程快速入门,Python 编程速成(推荐)

本文主要介绍Python编程崩溃,非常详细,有一定的参考价值。有需要的朋友可以参考一下。

Python是一种非常流行的脚本语言,它非常强大。它几乎可以做任何事情,比如爬虫、网络工具、科学计算、树莓派、Web开发、游戏等等。同时,无论在哪个平台上,都可以使用Python进行系统编程。

机器学习可以通过一些Python库来实现,比如人工智能常用的TensorFlow。您还可以使用像NLTK这样的Python库进行自然语言处理(NLP)。

本文讨论基本的Python编程,然后是一些Python编程的实际案例。

操作字符串

Python中的String是不可变的,所以不能直接修改。对字符串内容的任何更改都需要新的副本。在Python中使用字符串非常简单。

拼接字符串

str='欢迎' '使用Python '

打印(字符串)

这是字符串串联,也可以将字符串相乘:

重复字符串

str='Python' * 2 print (str)

与非字符串拼接

可以使用str()函数将非字符串值转换为字符串,然后将它们连接起来,如下所示:

str='这是测试号' str(15)

打印(字符串)

搜索子字符串

可以使用find()方法搜索子字符串,如下所示:

str='欢迎使用Python '

print(str.find('Python '))

如果找到字符串“Python ”, find方法将返回该字符串的第一个匹配项。

如果没有找到,则返回-1。

默认情况下,find函数从第一个字符开始搜索,也可以从第n个字符开始搜索,如下所示:

str='欢迎使用Python '

print(str.find('Python ',12))

因为我们从第12个字符开始,找不到单词Python,所以它会返回-1。

获取子字符串

所以我们得到了想要搜索的字符串的索引,现在我们想要打印匹配的字符串。

您可以根据电缆打印字符串,如下所示:

str='第一第二第三'

print(字符串[:2])

print(str[2:])

打印(字符串[3:5])

print(字符串[-1])

第二行中的代码打印第一个和第二个字符,而第三行从第二个字符打印到结尾。注意代码中冒号的位置。从0开始计数。

如果使用负数,将从末尾开始计数。第5行将打印最后一个字符。

替换字符串

您可以按如下方式替换该字符串:

str='这个网站是关于编程的'

str2=str.replace('This ',' That ')

打印(str2)

如果要替换的字符串出现多次,但您只想替换第一次出现的字符串,您可以指定位置:

str='这个网站是关于编程的,我喜欢这个网站'

str2=str.replace('website ',' page ',1)

打印(str2)

第一个词只是被替换了。

去除字符串两端的空格

您可以使用strip方法删除字符串两端的空格,如下所示:

str='这个网站是关于编程的'

print(strip())

您可以使用rstrip只删除最右边的空格,或者使用lstrip删除最左边的空格。

改变字符大小写

在某些情况下,您可能需要更改字符的大小写。

欢迎来到likegeeks

print(str.upper())

print(str.lower())

将字符串转换为数字

前面我学习了使用str()函数将数字转换成字符串,但这并不是Python中唯一的转换函数。此外还有int()、float()、long()等cast函数。

Int()可以将输入的字符串转换成整数,float()函数可以将字符串转换成浮点数。

str='10 '

str2='20 '

打印(str str2)

print(int(str) int(str2))

第3行只是连接了两个字符串,而第4行将两个值相加并输出结果。

字符串计数

可以使用min()查找字符串中ASCII值最小的字符,max()查找最大的字符,len()函数获取字符的总长度。

str='欢迎使用Python '

打印(最小(字符串))

打印(最大长度)

打印(len(str))

迭代字符串

您可以使用for迭代字符串,并分别操作每个字符,如下所示:

str='欢迎来到likegeeks网站'

对于范围内的I(len(str)):

打印(字符串[i])

其中len()函数用于获取字符串的长度。

字符串编码

如果您使用的是Python 3,默认情况下所有字符都以Unicode字符集编码,但如果您使用的是Python 2,则可能需要对字符串进行如下编码:

str='欢迎使用Python '

字符串编码(' utf-8 ')

操作数字

在Python中定义数值变量的方法如下:

a=15

您可以定义整数或浮点数。

浮点数可以用int()函数舍入,如下所示:

a=15.5

print(int(a))

舍入数字

您可以使用round()函数对数字进行舍入:

a=15.5652645

打印(round(a,2))

只需指定要四舍五入的小数位数。

自定义精度的数字

在许多情况下,将使用具有自定义精度的浮点数。

可以处理用户定义的精度数的十进制模块。

像这样导入模块并使用:

从十进制导入*

a=十进制(5.5)

生成随机数

Python中的random模块提供了生成随机数的函数。

随机导入

print(random.random())

生成的随机数在0.0到1.0之间。

您可以根据自己定义的范围生成一个随机数,如下所示:

随机导入

数字=[1,2,3,4,5,6,7]

打印(随机选择(数字))

操作日期和时间

您可以从日期中提取所需的值,如下所示。

导入日期时间

cur_date=日期时间.日期时间.现在()

打印(当前日期)

打印(当前日期.年份)

打印(当前日期)

print(当前日期.工作日())

打印(当前日期.月份)

print(当前日期时间())

您可以获得两个时间或日期之间的差异,如下所示:

导入日期时间

time1=datetime.datetime.now()

time2=datetime.datetime.now()

timediff=时间2 -时间1

print(timediff .微秒())

上例中的timediff变量是一个timedelta类型的对象。您也可以自己创建该对象:

time1=datetime.datetime.now()

time2=datetime.timedelta(天数=3)

时间3=时间1时间2

print(time3.date())

格式化日期和时间

您可以用strftime()格式化日期或时间。

下表指定了一些常见的格式选项:

%y两位数的年份表示法(00-99)

%Y四位数年份表示法(000-9999)

第%m个月(01-12)

一个月中的第%d天(0-31)

24小时制中的% h小时(0-23)

%I 12小时制(01-12)

%M分钟(00=59)

%S秒(00-59)

%a本地简化周名

%A本地整周名称

%b本地简化月份名称

%B本地完整月份名称

%c本地对应的日期表示和时间表示

%j年中的一天(001-366)

相当于当地上午或下午的百分比

%U一年中的周数(00-53)星期日是一周的开始。

%w周(0-6),星期日是一周的开始。

%W一年中的周数(00-53)星期一是一周的开始。

%x本地对应日期表示

%X本地对应时间表示

%Z当前时区的名称。

%%%这个数字本身

导入日期时间

date1=datetime.datetime.now()

print(date 1 . strftime(' % d . % B % Y % I:% M % p '))

从字符串创建日期

您可以使用strptime()函数从字符串创建日期,如下所示:

date 1=datetime . datetime . strptime(" 2015-11-21 "," %Y-%m-%d ")

也可以这样创建:

date1=datetime.datetime(年=2015,月=11,日=21)

处理文件系统

用Python处理文件非常容易。信不信由你,它是任何想要的语言中最简单的。当然,你也可以说Python是最容易做任何事情的语言。

复制文件

Shutil模块包含复制文件的功能。

导入技能

copied _ path=shutil . copy(' my _ file . txt ',' copied_file.txt ')

如果my_file.txt是一个软连接,那么上面的代码会创建copied_file.txt作为一个独立的文件。

您也可以创建软链接的副本,如下所示:

copied _ path=shutil . copy(' my _ file . txt ',' copied_file.txt ',follow_symlinks=False)

移动文件

您可以像这样移动文件:

导入技能

shutil.move('file1.txt ',' file3.txt ')

您也可以使用os模块中的重命名功能来重命名文件,如下所示:

导入操作系统

os.rename('file1.txt ',' file3.txt ')

读写文本文件

可以用open函数打开一个文件,然后用read或write方法读写。

fd=open('file1.txt ')

content=fd.read()

打印(内容)

首先使用open函数打开文件并读取,然后我使用read函数读取文件的内容,最后将获得的内容放入变量content中。

您可以指定read()()函数读取的字节数:

fd.read(二十)

如果文件不太大,可以把全部内容读入一个列表,然后遍历列表打印出来。

content=fd.readlines()

打印(内容[0])

您可以通过指定打开模式来写入文件。有两种写入模式,即写入模式和附加模式。

下面是写模式,会覆盖文件中的旧内容。

fd=open('file1.txt ',' w ')

content=fd.write('您的内容放在这里')

以下是附加模式:

fd=open('file1.txt ',' a ')

content=fd.write('您的内容放在这里')

创建目录

您可以使用os模块中的mkdir函数创建一个新目录,如下所示:

导入操作系统

os.mkdir('。/新文件夹)

如果目录已经存在,将会引发错误。但是不要担心,异常处理将在以后的文章中讨论,这可以帮助您避免此类错误。

访问、修改和创建时间可以分别通过getmtime()、get time()和getctime()获得。

返回的时间格式是Unix时间戳,我们可以将其转换为人类可读的格式,如下所示:

导入操作系统

导入日期时间

tim=os.path.getctime('。/file1.txt ')

print(datetime . datetime . from timestamp(Tim))

迭代文件

您可以使用os模块中的listdir()函数来获取文件:

导入操作系统

files=os.listdir(' . ')

打印(文件)

此外,您可以使用glob模块执行相同的操作:

导入全球

files=glob.glob('* ')

打印(文件)

您可以为glob()设置任何扩展名,例如*。doc来获取所有word文档。

序列化Python对象

这个过程用于将Python对象序列化为字节流,以便以后重用。

您可以使用pickle模块完成此操作:

进口泡菜

fd=open('myfile.pk ',' wb ')

pickle.dump(mydata,fd)

您可以使用load()函数反序列化这些数据,如下所示:

进口泡菜

fd=open('myfile.pk ',' rb ')

mydata=pickle.load(fd)

压缩文件

Python标准库使您能够处理不同格式的压缩文件,如tar、zip、gzip、bzip2。

要处理zip文件,您可以使用zipfile模块:

导入zip文件

my_zip=zipfile。ZipFile('zipped_file.zip ',mode='r ')

print(file.namelist())

您可以将文件压缩为zip格式,如下所示:

导入zip文件

file=zipfile。ZipFile('files.zip ',' w ')

file.write('file1.txt ')

file.close()

您可以使用extractall()方法提取zip包中的文件:

导入zip文件

file=zipfile。ZipFile('files.zip ',' r ')

file.extractall()

file.close()

此外,您可以在附加模式下将文件附加到现有的zip文件,如下所示:

导入zip文件

file=zipfile。ZipFile('files.zip ',' a ')

file.write('file2.txt ')

file.close()

处理gz或bz文件时,可以使用与上述相同的例程。但是,要导入gzip模块或bz2模块。

导入gzip

导入bz2

gz_file=gzip。GzipFile('files.gz ',' r ')

bz_file=bz2。bz2文件(' fiels.bz2 ',' r ')

然后用同样的方法读和写。

你可以使用unrar包来处理rar文件。首先,安装软件包:

pip安装拆卸

然后用同样的方法使用。

导入unrar.rarfile文件

m=unrar . rar file . rar file(' file . rar ')

m.namelist()

米屈肼

解析CSV文件

一个非常有用的包装叫做熊猫。它可以解析CSV和Excel文件,并轻松地从中提取数据。

首先,安装软件包。

pip安装熊猫

然后,您可以在自己的代码中使用它,如下所示:

进口熊猫

data=pandas.read_csv('file.csv)

默认情况下,Pandas将第一列视为每行的标签。如果列索引不是第一列,可以通过传递index_col参数来指定列索引。

如果文档中没有行标签,应该使用参数index_col=False。

要写入CSV文件,可以使用to_csv()方法。

data.to_csv('file.csv ')

解析Excel文件

您可以使用pandas模块中的read_excel()方法来解析excel文件。

data=pd.read_excel('file.xls ',sheetname='Sheet1 ')

如果有多个工作表,您可以像这样加载它们:

ta=pd。ExcelFile('file.xls ')

像这样编写excel文件:

ta.to_excel('file.xls ',sheet='Sheet1 ')

网络和连接

Python有一个socket类,提供了一种通过底层API访问网络的方式。它支持许多网络协议。

导入插座

主机='192.168.1.5 '

端口=5050

m _ sock=socket . create _ connection((主机,端口))

此代码通过端口5050与IP地址为192.168.1.5的主机建立连接。

打开套接字后,就可以发送和接收数据了。

m_sock.sendall(b'Hello World ')

注意,我在字符串前使用了B字符,因为数据需要是字节字符串。

如果发送的数据太大,您应该将其拆分并通过循环发送,如下所示:

msg=b“此处显示更长的消息”

mesglen=len(消息)

总计=0

而总msglen:

sent=m_sock.send(msg[total:])

总数=发送总数

要接收数据,需要告诉recv()方法一次读入多少字节。

data_in=m_sock.recv(2000年)

这是有效的,因为您可以确保发送的消息长度小于2000字节。

如果消息很大,则必须重复发送,直到接收到所有数据块。

buffer=bytearray(b' ' * 2000)

m_sock.recv_into(缓冲)

这里定义了一个空缓冲区,然后将消息写入缓冲区。

从POP邮件服务器接收电子邮件的弹出式菜单模块使您能够与POP服务器通信。

导入获取通行证,弹出式菜单

pop_serv=poplib。POP3('192.168.1.5 ')

pop_serv.user('myuser ')

pop_serv.pass_(getpass.getpass())

Getpass模块可以安全地处理密码。

如果需要安全连接,可以使用POP3_SSL类。

要获得邮件列表和邮件数,您可以这样做:

msg_list=pop_serv.list() #列出消息

msg _ count=pop _ serv . msg _ count()#获取消息计数

处理后,确保关闭所有打开的连接。

pop_serv.quit()

从IMAP邮件服务器接收电子邮件

您可以使用imaplib模块与IMAP邮件服务器通信。

导入imaplib,getpass

my_imap=imaplib。IMAP4('imap.server.com ')

my_imap.login('myuser ',getpass.getpass())

如果您的IMAP服务器上使用了SSL,请应用IMAP4_SSL类。

要获取电子邮件列表,您需要首先执行查询操作:

data=my_imap.search(无,'全部')

然后,通过迭代数据变量中的邮件索引来获得邮件内容。

msg=my_imap.fetch(email_id,'(RFC822)')

最后,不要忘记关闭连接:

my_imap.close()

my_imap.logout()

发送电子邮件

想通过SMTP协议发送电子邮件。可以使用smtplib。

导入smtplib,getpass

my_smtp=smtplib。SMTP(smtp.server.com ')

my_smtp.login('myuser ',getpass.getpass())

如果在SMTP服务器上使用SSL,则应用SMTP_SSL类。

连接后,您可以像这样发送邮件:

from_addr='me@example.com '

to_addr='you@example.com '

msg=' From:me @ example . com \ r \ n to:you @ example . com \ r \ n \ r \ n您好,这是一封测试邮件'

my_smtp.sendmail(发件人地址,收件人地址,邮件)

抓取网页

要与Web服务器通信,需要urllib.request子模块。

导入urllib.request

my _ web=urllib . request . urlopen(' https://www . Google . com ')

print(my_web.read())

提交Web表单

如果要提交Web表单,应该向网页发送POST请求。

导入urllib.request

my_data=b '您的数据放在这里'

my _ req=urllib . request . request(' http://localhost ',data=my_data,method='POST ')

my _ frm=URL lib . request . URL open(my _ req)

打印(my_frm.status)

另外可以使用mechanize或者urllib2模块,实现这个功能的方法有很多。

创建一个微型服务器

套接字类支持侦听连接请求。

导入插座

主机=' '

端口=3535

my_server=socket.socket(socket。AF_INET,socket。袜子_流)

my_server.bind((主机,端口))

my_server.listen(1)

现在您可以接受这个连接请求了:

addr=my_server.accept()

打印('已连接. ',地址)

data=conn.recv(1024)

最后,不要忘记在操作完成后关闭连接。

conn.close()

Python 中的线程

运行并发任务非常有用。Python有一个名为threading的模块,包含一个Thread类。

导入线程

def打印消息():

打印(“邮件从不同的线程打印”)

my_thread=线程。线程(target=print_message)

my_thread.start()

如果函数需要很长时间才能完成,可以用is_alive()方法检查它是否还在运行。

有时,您的线程需要安全地访问全局资源。这时你需要一把锁。

导入线程

数量=1

my_lock=线程。锁定()

def my_func():

全局编号,my_lock

my_lock.acquire()

总和=数字1

打印(总和)

my_lock.release()

my_thread=线程。线程(target=my_func)

my_thread.start()

使用树莓派

Raspberry Pi是一款廉价的单板电脑,在上面可以开发各种有趣的应用。

可以用Python的RPi。GPIO模块,使Raspberry Pi与外部传感器通信。

首先,在您的Raspberry Pi中安装软件包,如下所示:

$ sudo apt-get安装python-dev python-rpi.gpio

然后可以在Python脚本中使用它。您可以将输出写在Raspberry Pi的GPIO总线上:

导入RPi。GPIO作为GPIO

GPIO.setmode(GPIO。板)

GPIO.setup(1,GPIO。OUT,initial=GPIO。低)

GPIO.output(1,GPIO。高)

从Raspberry Pi的GPIO读取数据你可以用RPi从GPIO接口读取数据。GPIO模块,如下图所示:

导入RPi。GPIO

RPi。GPIO.setup(1,GPIO。在)

如果RPi。GPIO.input(1):

打印(“输入高”)

否则:

打印(“输入低”)

以上只是Python基础知识的一小部分,还有很长的路要走。

总结

以上就是边肖给大家介绍的Python编程崩溃。希望对你有帮助。如果您有任何问题,请给我留言,边肖将及时回复您。非常感谢您对我们网站的支持!

如果你觉得这篇文章对你有帮助,请转载,请注明出处,谢谢!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: