专业IT网络知识平台,分享IT百科知识、生活百科知识解答!

易企推科技
易企推科技

Python基础

来源:小易整编  作者:小易  发布时间:2024-03-21 07:47
摘要:前言python,是龟叔在1989年为了打发无聊的圣诞节而编写的一门编程语言,特点是优雅、明确、简单,现今拥有丰富的标准库和第三方库。python适合开发web网站和各种网络服务,系统工具和脚本,作为“胶水”语言把其他语言开发的模块包装起来...

前言

python,是龟叔在1989年为了打发无聊的圣诞节而编写的一门编程语言,特点是优雅、明确、简单,现今拥有丰富的标准库和第三方库。python适合开发web网站和各种网络服务,系统工具和脚本,作为“胶水”语言把其他语言开发的模块包装起来使用,科学计算等等。

Python基础

小编学习Python的理由有三个:为了爬取需要的各种数据,不妨学习一下Python。为了分析数据和挖掘数据,不妨学习一下Python。为了做一些好玩有趣的事,不妨学习一下Python。

准备工作

1、在Python官网下载安装喜欢的版本,小编使用的,是当前最新版本3.6.0。

2、打开IDLE,这是Python的集成开发环境,尽管简单,但极其有用。IDLE包括一个能够利用颜色突出显示语法的编辑器、一个调试工具、Python Shell,以及一个完整的Python3在线文档集。

hello world

1、在IDLE中,输入print('hello world'),回车,则打印出hello world。PS:语句末尾加不加分号;都可以,小编决定不加分号,更简单。

2、使用sublime新建文件hello.py,内容如下:

print('hello world')
登录后复制

在Windows下,shift+右键,在此处打开命令窗口,执行python hello.py,回车,则打印出hello world。

3、使用sublime新建文件hello.py,内容如下:

#!/usr/bin/env pythonprint('hello world')
登录后复制

在Linux或Mac环境下,可以直接运行脚本。首先添加执行权限chmod a+x hello.py,然后执行./hello.py。当然,也可以和Windows一样,使用python hello.py来执行脚本。

引入模块

1、新建name.py,内容如下:

name='voidking'
登录后复制

2、执行python name.py。3、进入python shell模式,执行import nameprint(name.name),则打印出voidking。

基础语法

常用函数(print)、数据类型、表达式、变量、条件和循环、函数。和其他语言类似,下面选择一部分展开。

list链表数组

1、定义数组myList = ['Hello', 100, True]2、输出数组print(myList)3、输出数组元素print(myList[0])print(myList[-1])4、追加元素到末尾myList.append('voidking')5、追加元素到头部myList.insert(0,'voidking')6、删除元素myList.pop()myList.pop(0)7、元素赋值myList[0]='hello666'

tuple固定数组

1、定义数组myTuple = ('Hello', 100, True)错误定义:myTuple1=(1),正确定义:myTuple=(1,)2、输出数组print(myTuple)3、输出数组元素print(myTuple[0])4、tuple和list结合t = ('a', 'b', ['A', 'B'])t[2][0]='X'

if语句

if
score = 75if score>=60:    print 'passed'
登录后复制

两次回车,即可执行代码。

if-else
if score>=60:    print('passed')else:    print('failed')
登录后复制if-elif-else
if score>=90:    print('excellent')elif score>=80:    print('good')elif score>=60:    print('passed')else:    print('failed')
登录后复制

循环

for循环
L = [75, 92, 59, 68]sum = 0.0for score in L:       sum += scoreprint(sum / 4)
登录后复制while循环
sum = 0x = 1while xbreak
sum = 0x = 1while True:    sum = sum + x    x = x + 1    if x > 100:        breakprint(sum)
登录后复制continue
L = [75, 98, 59, 81, 66, 43, 69, 85]sum = 0.0n = 0for x in L:    if x 多重循环
for x in ['A', 'B', 'C']:    for y in ['1', '2', '3']:        print(x + y)
登录后复制

dict

dict的作用是建立一组 key和一组value的映射关系。

d = {    'Adam': 95,    'Lisa': 85,    'Bart': 59,    'Paul': 75}print(d)print(d['Adam'])print(d.get('Lisa'))d['voidking']=100print(d)for key in d:    print(key+':',d.get(key))
登录后复制

set

set持有一系列元素,这一点和list很像,但是set的元素没有重复,而且是无序的,这点和dict的key很像。

s = set(['Adam', 'Lisa', 'Bart', 'Paul'])print(s)s = set(['Adam', 'Lisa', 'Bart', 'Paul', 'Paul'])print(s)len(s)print('Adam' in s)print('adam' in s)for name in s:    print(name)
登录后复制
s = set([('Adam', 95), ('Lisa', 85), ('Bart', 59)])for x in s:    print(x[0]+':',x[1])
登录后复制
s.add(100)print(s)s.remove(('Adam',95))print(s)
登录后复制

函数

自带函数
del sumL = [x*x for x in range(1,101)]print sum(L)
登录后复制自定义函数
def my_abs(x):    if x >= 0:        return x    else:        return -xmy_abs(-100)
登录后复制引入函数库
import mathdef quadratic_equation(a, b, c):    x = b * b - 4 * a * c    if x 可变参数
def average(*args):    if args:        return sum(args)*1.0/len(args)    else:        return 0.0print(average())print(average(1, 2))print(average(1, 2, 2, 3, 4))
登录后复制

切片

list切片
L = ['Adam', 'Lisa', 'Bart', 'Paul']L[0:3]L[:3]L[1:3]L[:]L[::2]
登录后复制倒序切片
L[-2:]L[-3:-1]L[-4:-1:2]
登录后复制
L = range(1, 101)L[-10:]L[4::5][-10:]
登录后复制

PS:range是有序的list,默认以函数形式表示,执行range函数,即可以list形式表示。

字符串切片
def firstCharUpper(s):    return s[0:1].upper() + s[1:]print(firstCharUpper('hello'))
登录后复制

迭代

Python的for循环不仅可以用在list或tuple上,还可以作用在其他任何可迭代对象上。迭代操作就是对于一个集合,无论该集合是有序还是无序,我们用for循环总是可以依次取出集合的每一个元素。集合是指包含一组元素的数据结构,包括:

有序集合:list,tuple,str和unicode;

无序集合:set

无序集合并且具有key-value对:dict

for i in range(1,101):    if i%7 == 0:        print(i)
登录后复制索引迭代

对于有序集合,元素是有索引的,如果我们想在for循环中拿到索引,怎么办?方法是使用enumerate()函数。

L = ['Adam', 'Lisa', 'Bart', 'Paul']for index, name in enumerate(L):    print(index+1, '-', name)myList = zip([100,20,30,40],L);for index, name in myList:    print(index, '-', name)
登录后复制迭代dict的value
d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }print(d.values())for v in d.values():    print(v)
登录后复制

PS:Python3.x中,dict的方法dict.keys(),dict.items(),dict.values()不会再返回列表,而是返回一个易读的“views”。这样一来,k = d.keys();k.sort()不再有用,可以使用k = sorted(d)来代替。同时,dict.iterkeys(),dict.iteritems(),dict.itervalues()方法不再支持。

迭代dict的key和value
d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }for key, value in d.items():    print(key, ':', value)
登录后复制

列表生成

一般表达式
L = [x*(x+1) for x in range(1,100)]print(L)
登录后复制复杂表达式
d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }def generate_tr(name, score):    if score >=60:        return '%s%s' % (name, score)    else:        return '%s%s' % (name, score)tds = [generate_tr(name,score) for name, score in d.items()]print('
登录后复制')print('')print('\n'.join(tds))print('
NameScore
')条件表达式
L = [x * x for x in range(1, 11) if x % 2 == 0]print(L)
登录后复制
def toUppers(L):    return [x.upper() for x in L if isinstance(x,str)]print(toUppers(['Hello', 'world', 101]))
登录后复制多层表达式
L = [m + n for m in 'ABC' for n in '123']print(L)
登录后复制
L = [a*100+b*10+c for a in range(1,10) for b in range(0,10) for c in range(1,10) if a==c]print(L)
登录后复制

后记

至此,Python基础结束。接下来,爬虫飞起!

更多Python,基础相关文章请关注PHP中文网!


本文地址:网络知识频道 https://www.hkm168.com/jiqiao/1151889.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


网络知识
小编:小易整编
相关文章相关阅读
  • Python基础

    Python基础

    前言python,是龟叔在1989年为了打发无聊的圣诞节而编写的一门编程语言,特点是优雅、明确、简单,现今拥有丰富的标准库和第三方库。python适合开发web网站和各种网络服务,系统工具和脚本,作为“胶水”语言把其他语言开发的模块包装起来...

  • python怎么实现三子棋游戏

    python怎么实现三子棋游戏

    一、基本流程三子棋游戏实现逻辑如下:1、创建初始化3*3棋盘;2、玩家执U子,先进行落子;3、胜负判定【胜、负、和棋】,若胜负未分,则继续如下4、电脑执T子,进行落子;5、胜负判定,若胜负未分,则从步骤2继续执行二、基本步骤1、菜单界面选择...

  • 50道CSS基础面试题,附答案

    50道CSS基础面试题,附答案

    1介绍一下标准的css的盒子模型?与低版本ie的盒子模型有什么不同的?标准盒子模型:宽度=内容的宽度(content)+border+padding+margin低版本IE盒子模型:宽度=内容宽度(content+border+...

  • Python服务器编程:使用PyAudio进行音频处理

    Python服务器编程:使用PyAudio进行音频处理

    python是一种功能强大的编程语言,可以用于从简单的脚本到复杂的应用程序和服务器。pyaudio是python中一种流行的音频处理库,可以用于录制、播放和处理音频数据。在本文中,我们将探讨如何使用PyAudio来开发一个Python服务器...

  • 如何用Python中的jieba库?

    如何用Python中的jieba库?

    python中jieba库(中文分词库)使用安装教程介绍jieba是优秀的中文分词第三方库。由于中文文本之间每个汉字都是连续书写的,我们需要通过特定的手段来获得其中的每个单词,这种手段就叫分词。而jieba是python计算生态中非常优秀的...

  • python框架是什么,主流框架有哪些

    python框架是什么,主流框架有哪些

    Python框架通常分为全栈框架和非全栈框架。全栈框架设计从用户体验到数据库的所有技术,非全栈框架则并不包含整个开发的全部技术。下面是15个最受欢迎的Python开源框架。这些框架包括事件I/O,OLAP,Web开发,高性能网络通信,测试,...

  • PHPChina学院Discuz基础视频教程资源分享

    PHPChina学院Discuz基础视频教程资源分享

    crossdaydiscuz!board(简称discuz!)是北京康盛新创科技有限责任公司推出的一套通用的社区论坛软件系统。自2001年6月面世以来,discuz!已拥有15年以上的应用历史和200多万网站用户案例,是全球成熟度最高...

  • python中divmod是什么

    python中divmod是什么

    python中pmod是什么?下面给大家带来pmod的相关介绍。pmod函数是Python的内置函数,它可以把除数和余数运算结果结合起来,返回一个包含商和余数的元组(a//b,a%b)。语法 pmod(pidend,pisor)...

  • 周排行
  • 月排行
  • 年排行

精彩推荐