前言:

小编发现最近私聊我的很多朋友都是零基础的,所以小编整理了一下python基础知识,希望对朋友们有所帮助~

一、运行环境

1、Python解释器

Python解释器就是Python的交互式运行环境,python程序必须有解释器才能够运行,是必备的环境。

python解释器下载地址:https://www.python.org/

版本:python2.7

安装后,一般安装程序给配置好了环境变量,windows下在cmd中输入python回车,如果出现python版本信息,进入命令行,说明配置好了;如果没有,则需要配置环境变量。安装了python解释器之后,便可以运行python程序,可以用命令交互式的,就像在cmd中输入dos命令,也可以直接运行.py结尾的python程序文件。

2、文本编辑器

有了运行环境,但是还得有编码环境,这个很多IDE都对python支持,我的话直接用的notepad文本编辑器。

二、Python基础

1、输入输出

输入输出是最基本的功能,用于用户和计算机进行交互,raw_input和print是在命令行下面最基本的输入和输出。

(1)输出print

用print后面跟上输出的内容,就可以向屏幕上输出指定的内容。

print语句也可以跟上多个输出内容,用逗号“,”隔开,就可以连成一串输出,print会依次打印每个字符串,遇到逗号“,”会输出一个空格。

例如:print 'hello, world'

(2)输入raw_input

Python提供了一个raw_input,可以让用户输入字符串,并存放到一个变量里。需要注意的是raw_input得到得结果是字符串,例如用户输入数值33,通过raw_input得到得变量整形数值33,而是字符串’33’,若是直接用于数值得加减,那么便会报错。

字符串如何转换为相应的变量值?可以通过如下方式:

如果是整形 a = int(str)

如果是浮点型 a = float(str)

若是相应的字符串不能转换成对应的变量类型,那么也会报错。

因此若是要通过输入得到相应的变量类型,那么可以这样做,例如 c = int(raw_input),则输入33,便可以得到值为33的整形变量。

raw_input可以让你显示一个字符串来提示用户:

name = raw_input('please enter your name: ')

2、变量

(1)整数:python的整数包括正数和负数,在程序中的表示方法和数学上的写法一模一样。十六进制用0x前缀。

(2)浮点数:浮点数可以用数学写法,例如3.1415926;对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.63x109就是1.63e9。

(3)字符串:字符串是以''或""括起来的任意文本,比如'abc',"xyz"。如果字符串内部既包含'又包含"可以用转义字符\来标识,例如:'I\'m \"student\"!'(I’m“student”)。

如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Python还允许用r''表示''内部的字符串默认不转义。

(4)布尔值:布尔值和布尔代数的表示完全一致,一个布尔值只有True、False两种值。布尔值可以用and、or和not运算。布尔值经常用在条件判断中,而且比较操作符的结果都为布尔值。

(5)空值:空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。

(6)常量: 在python中常量并没有类似C++中const关键字用于表示常量的语法,用以保证某种数据类型的数值在运行过程中不可改变和更改,只能够靠程序员自觉遵守。

在python中,并不需要定义变量类型,如在某个地方引用了变量,该变量在赋值的时候,其赋值的右值是什么类型的数值,在重新赋值之前,该变量就是什么类型的变量。

例如如下:

A = 1

.........

A =“str”

在变量赋值为整数1的时候,此时A的变量类型为整数,一直在A = “str”之前都是整数变量,在A=”str”之后,那么此时A不再是整数变量,而是字符串变量了,若是在之后,A当作整数进行运算,那么会出现错误结果或者运行报错,在python编码中要小心又小心,最好不要将一个变量赋两种不同类型的值,以避免这种错误。

3、list和tuple

(1)list:list是Python内置的一种数据类型是列表。list是一种有序的集合,可以随时添加和删除其中的元素,且集合中的元素可以为不同变量类型的元素,且数据元素的个数为空。classmates = ['Michael', 'Bob', 'Tracy']

len()函数可以获得list元素的个数

用索引来访问list中每一个位置的元素,记得索引是从0开始的,最后一个元素的索引是len(classmates) - 1。如果要取最后一个元素,除了计算索引位置外,还可以用-1做索引,直接获取最后一个元素,若是倒数第二个元素的索引可以是-2,依次类推。

可以往list中追加元素到末尾append方法

要删除list末尾的元素,用pop()方法

要删除指定位置的元素,用pop(i)方法,其中i是索引位置

要把某个元素替换成别的元素,可以直接赋值给对应的索引位置

list中可以嵌套list,组成二维数组甚至三位数组等。

(2)tuple:另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改。classmates = ('Michael', 'Bob', 'Tracy'),只有1个元素的tuple定义时必须加一个逗号,,来消除歧义(避免被识别为函数)。在定义中,tuple在初始化的形式上可以省略括号。

除了通过索引值获取list和tuple中元素的值之外,python还提供了切片(slice)。

  • 通过指定索引范围,对list进行截取。例如list数组L,取前面三个数值,则L[0:3],取前面N个值,则L[0:N],其中截取的list为0到N-1,是索引值0到N的左开右闭的区间。如果第一个索引值是0,那么还可以省略,则为L[:N],当然该种方式也支持负数索引值。
  • list和tuple都可以使用该种方式进行数据的截取,截取后得到的结果依旧是list和tuple,字符串中字符也可以使用这种方式,截取后得到的结果是字符串(可以将字符串看成是单个字符组成的list)。

4、dict和set

(1)dict是Python内置的字典,与C++中的map的功能相似,用于存储使用键-值(key-value),能够通过key快速的检索对应的value值。

初始化

d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}

插入

d['Adam'] = 67

查找key对应的value值

d[key]

如果key存在,就可以返回value值,如果key不存在,那么就会运行报错。在动态检索key的过程中,若是key不存在,运行报错中止程序的话这是很不方便的,因此我们可以在检索前查找是否在该dict中是否存在该key。

两种办法,一是通过in判断key是否存在

'Thomas' in d 存在就返回true,不存在就返回false

二是通过dict提供的get方法,如果key不存在,可以返回None,或者自己指定的value,若是存在则返回对应的value值。

删除

要删除一个key,用pop(key)方法,对应的value也会从dict中删除

dict的key必须是不可变对象,作为key的对象就不能变。在Python中,字符串、整数等都是不可变的,因此,可以放心地作为key。而list是可变的,就不能作为key。

(2)Set

set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。

要创建一个set,需要提供一个list作为输入集合s = set([1, 2, 3])

添加

通过add(key)方法可以添加元素到set中,可以重复添加,但不会有效果

删除

通过remove(key)方法可以删除元素:

5、条件判断和循环

(1)条件判断if语句

if <条件判断1>:

<执行1>

elif <条件判断2>:

<执行2>

elif <条件判断3>:

<执行3>

else:

<执行4>

需要注意的是if else语句的判断为后需要加上冒号’:’,而且判断为true的时候,执行的代码需要缩进。

(2)循环

循环有两种,一种是while循环,一种是for循环。

while循环,只要条件满足,就不断循环,条件不满足时退出循环,其格式与if很像,循环代码执行主体需要缩进,其格式如下,记得while语句之后要加上冒号’:’。

While <条件判断1>:

<执行1>

for循环

for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:

sum = sum + x

一种是for...in循环,依次把list或tuple中的每个元素迭代出来

例如:for x in ...循环就是把每个元素代入变量x,然后执行缩进块的语句。

在使用for对list、tuple和字符串进行迭代时候,可以通过直接迭代或者使用索引值进行间接迭代。因为dict的是通过key-value进行存储的,因此在迭代的时候与list和tuple都不一样,默认情况下,dict迭代的是key。如果要迭代value,可以用for value in d.itervalues(),如果要同时迭代key和value,可以用for k, v in d.iteritems()。

在使用for可以对一些数据类型进行迭代,但若对一些不可迭代的数据迭代就会产生错误。如何判断一个对象是可迭代对象呢?方法是通过collections模块的Iterable类型判断

注:is和==这两种运算符都可以对对象比较,比较是否相等,但是这两种运算符又有差别,其中,is是比较两个引用是否指向了同一个对象(引用比较),==是比较两个对象是否相等。

6、通过下标遍历list

在使用C/C++的时候,通常喜欢使用下表对数组进行遍历。在python中可以通过enumerate函数可以把一个list变成索引-元素对,这样就可以在for循环中同时迭代索引和元素本身。

classmates = ['Michael', 'Bob', 'Tracy']

for i ,name in enumerate(classmates):

print i,name

print classmates[i]

运行结果如下:

0 Michael

Michael

1 Bob

Bob

2 Tracy

Tracy

7、同时引用两个变量遍历

for循环里,同时引用了两个变量,在Python里是很常见的,比如下面的代码:

for x, y in [(1, 1), (2, 4), (3, 9)]:

8、列表生成

列表生成可以通过列表生成式或者列表生成器来进行程序生成。

列表生成式顾名思义,通过自定义表达式,可以快速生成list,可以通过一个list推导出另一个list,表达式一般和for循环写在一起,并通过方括号组成。

例如L=[1,2,3,4,5]的列表,要生成每个元素都是L中元素的平方,则 [x*x for x in L] 此表达式生成的就是一个对L的元素求平方的列表

列表生成式后面可以根据if来进行筛选,将不符合条件的元素刷选调,例如要生成的列表中偶数进行平方操作生成列表,则[x*x for x in ifx%2==0]

列表生成式还可以多层循环,可以生成全排列,例如两层循环,进行全排列,例如:[m + n for m in 'ABC' for n in 'XYZ']

生成器。通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。列表元素可以按照某种算法推算出来,我们可以在循环的过程中不断推算出后续的元素。在Python中,这种一边循环一边计算生成元素的,称为生成器(generator)。

创建一个generator

  • 可以把一个列表生成式的[]改成(),就创建了一个generator。

例如g = (x * x for x in range(10))

  • 可以将在函数定义的时候,如果一个函数定义中包含yield关键字,那么这个函数就不再是一个普通函数,而是一个generator。generator的函数,与普通函数不一样,在每次调用next()的时候执行,遇到yield语句返回,再次执行时从上次返回的yield语句处继续执行。

对于生成器中的元素,我们可以通过generator的next()方法进行遍历,直到遍历玩到最后一个产生异常为止。

在绝大多数情况下,生成器的迭代一般可以用for循环就可以进行迭代遍历了。

在这里,小编也为大家推荐一些入门读物:

1.《Python基础教程》(Beginning Python From Novice to Professional)

2.《Python学习手册》(Learning Python)

3.《Python编程》(Programming Python)

4.《Python Cookbook》

5.《Python程序设计》(Python Programming: An Introduction to Computer Science)

6.《Python编程:从入门到实践》

7.《python入门魔力手册》

8.《笨办法学 Python(第四版)》

9.《深入_Python_3》

10.《Python网络编程基础》

11.《Python语言及其应用(美Lubanovic 2016)》

12.《Python编程入门(第3版)》

13.《Python编程初学者指南》

【这是针对基础朋友的,当然,有需要进阶、web、爬虫、图形图像、数据分析、机器学习等读物推荐的可以私聊小编,加小编好友:2842957735。大家还有想一起交流学习的可以加群:714042473】

python小白不要怕,小编来保护你~相关推荐

  1. python人工智能入门书籍推荐-小编就给大家推荐几本python机器学习入门书!

    很多人对于机器学习很感兴趣,所以想要通过一些书籍来学习研究,那么有哪些机器学习入门书籍推荐呢?本文小编就给大家推荐几本python机器学习入门书,大家可以去书店具体购买. 有哪些机器学习入门书籍推荐呢 ...

  2. Python环境搭建—安利Python小白的Python和Pycharm安装详细教程

    人生苦短,我用Python.众所周知,Python目前越来越火,学习Python的小伙伴也越来越多.最近看到群里的小伙伴经常碰到不会安装Python或者不知道去哪下载Python安装包等系列问题,为了 ...

  3. python中for循环的用法_@Python小白,一文让你掌握Python爬虫

    兴趣 我没事喜欢逛知乎,有一段时间看到了这个问题:利用爬虫技术能做到哪些很酷很有趣很有用的事情: http://t.cn/RptGOPx 觉得回答的一个个炒鸡酷炫 就对爬虫产生了浓厚的兴趣, 于是就开 ...

  4. python入门书籍2018_Python语言新贵,2018涨薪技能,小编吐血为你整理的学习书单...

    过去的2017年这一年,Python 开发者在全球快速增长,国内小伙伴学习 Python 的热情一路高涨.同时,Python 成为大量开发者推荐的入门编程语言和第二编程语言.2017年12月,Pyth ...

  5. Python爬虫不会?戳一下,小编一步步教你写一个简单的爬虫

    写在前面 网络爬虫又称网络蜘蛛,是指按照某种规则在网络上爬取所需内容的脚本程序.众所周知,每个网页通常包含其他网页的入口,网络爬虫则通过一个网址依次进入其他网址获取所需内容. 优先申明:我们使用的py ...

  6. python所有软件都打不开机怎么办_电脑软件,小编教你电脑所有软件都打不开怎么解决...

    不知道大家在使用电脑的时候有没有遇到电脑所有应用程序软件都连不上网打不开的情况,可是自己电脑明明显示有网,可是电脑所有应用程序软件都连不上网打不开是怎么回事?又该如何解决?下面,小编给大家介绍电脑所有 ...

  7. 小白重装系统教程_重装系统教程,小编教你怎么重装win10系统

    不少用户因为电脑出现了问题,无法以一般的方法进行修复而苦恼,就重装吧.重装系统,自然要选择小白一键重装大师.因为该软件简约简单,稳定快速,永久免费.但是不少的用户不懂得怎么操作,下面,小编给大家带来了 ...

  8. 学python买什么书-Python爬虫入门看什么书好 小编教你学Python

    Python爬虫入门看什么书好 小编教你学Python 时间:2018-01-12     来源:Python爬虫入门讲解 生活在21世纪的互联网时代,各类技术的发展可谓是瞬息万变,这不今天编程界又出 ...

  9. 跟着小甲鱼学python怎么样_跟着小甲鱼的python视频学习,小白能够接受吗?

    查看: 3709|回复: 14 跟着小甲鱼的python视频学习,小白能够接受吗? 电梯直达 发表于 2018-4-29 16:57:27 | 只看该作者 |倒序浏览 |阅读模式 马上注册,结交更多好 ...

最新文章

  1. 利用大数据技术探索“数字公民”创新
  2. WCF服务编程设计规范(6):队列服务、安全和服务总线
  3. 基于Vue的记事本todos效果展示及源码分享
  4. ios rsa java_一篇搞定RSA加密与SHA签名|与Java完全同步
  5. 2020年十月蓝桥杯A组题解【10月17日】【附完整代码】
  6. C#开发微信门户及应用(28)--微信“摇一摇·周边”功能的使用和接口的实现
  7. 移动电商营销吸睛法宝----图标、标签
  8. 计算机应用基础win7.pdf,计算机应用基础WIn7操作题(12页)-原创力文档
  9. python课程价格-福田区python课程价格
  10. Elasticsearch的javaAPI之get,delete,bulk
  11. Linux驱动的ioctl函数简要说明
  12. 一些牛人的IOS博客,mark下慢慢学习
  13. SoureInsight 打开STM32的Kell 工程
  14. 学术会议html模板,学术会议的常用模板
  15. OSChina 周三乱弹 —— 生活要懂得苦中作乐
  16. java 制作签名版电子合同
  17. 软件测试国赛考试文档,GZ-2019026 软件测试赛项规程-2019年国赛-高职组 - 图文
  18. Redux中的reducer到底是什么,以及它为什么叫reducer?
  19. 微信小程序自定义生成动态分享内容
  20. 群晖安装Calibre(含格式转换豆瓣元数据推送kindle)221211

热门文章

  1. 中国农业机械融资租赁市场预测与投资战略报告(2021版)
  2. 三大 Windows 文件搜索神器 Everything、Listary、AnyTXT Searcher 功能特色与区别详解
  3. 介绍一个2000+star的Github项目
  4. html 怎么检测ie浏览器的最高版本,检测是否为IE浏览器及IE浏览器的版本
  5. 安卓手机如何打开.crx文件_如何在安卓手机上使用Chrome插件
  6. Ubuntu Linux访问小米手机存储卡
  7. 美团四面 Java 岗,终获 offer,我是这么回答面试官的
  8. python做excel表格代码_Python读写Excel表格
  9. 120 行代码实现纯 Web 剪辑视频
  10. 组态中怎么使用mysql数据库,组态王写入MySQL数据库