手把手带你python入门

前言:受一位初学python的朋友邀请,特写此文。来帮助各位没有编程基础的朋友快速入门python。

1. python可以干什么?

python作为现在特别流行的一门编程语言,它可以做什么呢?

  • 网络数据采集
  • 爬取某电视剧的弹幕
  • 爬取小说
  • 数据分析
  • excel文件数据处理,代替vba
  • 图像处理
  • 机器学习,深度学习,神经网络等
  • Web 开发
  • Django开发Web服务
  • window窗体应用
  • 上位机开发
  • 游戏开发

上述清单中如有想了解的,可以留言。有空给大家继续更新。

2. python入门学习网址推荐

3. 快速入门都要学些什么?

还未安装python开发环境的朋友请先移步菜鸟教程-python3环境搭建.,完成python3的安装和环境变量的配置。 对于零基础的小伙伴来说,或许都想知道如何入门要学些什么?什么时候自己才能写出一段具有完整功能的程序。 下面所写的内容仅是一个概述,给小白一个指导参考。具体学习建议大家参考学习网站或教学视频,也可以买本书学习。

(1)python基础语法认知

我的第一个python程序

下面手把手教大家写一个python程序。有基础的小伙伴可以跳过。

  • 方法一: 按win+R 打开cmd,在cmd输入python按回车键。 输入后会出现python的安装版本等信息,如果提示“xxx不是内部或外部命令,也不是可运行的程序”说明没有安装python或者未配置path环境变量。解决方法请向上看。 然后输入print("Hello World!"),该语句是在控制台打印 Hello World! 这句话。 我们之后的代码练习可以用上述方法。但是有人问我了,我想保存我这次写的代码,下次接着用。那么请看方法二。
  • 方法二: 我们先新建一个txt格式的文本文档,在文本文档第一行写入print("Hello World!"),然后将文件扩展名改为.py,这样就写好了一个python文件了。该文件是可以直接运行的,但是运行结束后会自动关闭窗口,可以在代码最后加input("\n\n按下 enter 键后退出。"),保持窗口不关闭。
print ("Hello World!")
input("\n\n按下 enter 键后退出。")

用python做桌宠_编程语言

python的编写规范要求

python使用缩进来表示代码块,同一个代码块的语句必须包含相同的缩进空格数。此部分在大家看多了代码自然就会理解。不过这里建议大家选一款好用的IDE来辅助大家,可以规范代码、提示书写错误。 python使用 # 作为注释符,多行注释可以用多个 # 号,或使用 ‘’’ 和 “”",建议大家后期写代码时多写备注。

# 注释符(这是一条注释,代码运行时不生效)
'''
这是一条注释
这是二条注释
'''
"""
这是三条注释
"""
给大家推荐个好用的IDE
1 python自带的IDLE

这个IDE我个人感觉就像是一个可以运行py文件的高级记事本。

用python做桌宠_Python_02

名叫IDLE的文件就是了。在它的控制台可以直接写写python语句,也可以点击New File新建一个py文件。

在文件中写好后可以点击 run > run module 直接运行该文件。

这个IDE我很少用,但它用起来比较简单,而且不需额外安装、配置环境。建议初学者可以拿来入门。大家感兴趣可以自己研究一下。

2 PyCharm

较为主流的python开发IDE,用的人比较多。具备一般 Python IDE 的功能,比如:调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试、版本控制等。 另外,PyCharm 还提供了一些很好的功能用于 Django 开发,准备拿python做Web开发的小伙伴可以好好了解下。PyCharm 官方下载地址 官方提供社区免费版

3 VS code

简单好用的多功能IDE,也是博主正在用的一款,应为经常写网页、python等多种编程语言,所以想着用着一个IDE一次都搞定。 VS code是个轻量级IDE,安装完成后所有文件都很小,也可以安装各种插件来辅助我们编程,也具备调试、语法高亮、代码跳转、智能提示等功能。VS code 官方下载地址 这个软件也是免费使用

(2)了解数据类型

Python3 中有六个标准的数据类型:

  • Number(数字) Python3 支持 int、float、bool、complex(复数)
# python 可以用下面方法依次给 a b c d 依次赋值,等号前后一一对应关系
a, b, c, d = 20, 5.5, True, 4+3j
# type()可以获取括号内参数的数据类型
print(type(a), type(b), type(c), type(d))

用python做桌宠_Python_03

  • String(字符串) Python中的字符串用单引号 ’ 或双引号 " 括起来,同时使用反斜杠 \ 转义特殊字符
a = "Hello World!"
a   # 该语句也会在控制台打印 a 的值,效果和 print() 相同

用python做桌宠_用python做桌宠_04

字符串操作十分常见,比如:字符串截取、拼接、正则表达匹配、格式化、json字符串转换,这些之后会单独写一篇来给大家总结一下。

  • List(列表) 博主感觉List和字典是最常用的两种数据类型。 列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
  • List的定义、截取、拼接
list = [ 'abcd', 786 , 2.23, 'runoob', 70.2 ]
tinylist = [123, 'runoob']
print (list)            # 输出完整列表
print (list[0])         # 输出列表第一个元素
print (list[1:3])       # 从第二个开始输出到第三个元素
print (list[2:])        # 输出从第三个元素开始的所有元素
print (tinylist * 2)    # 输出两次列表
print (list + tinylist) # 连接列表

List(列表)元素修改

>>> a = [1, 2, 3, 4, 5, 6]
>>> a[0] = 9
>>> a[2:5] = [13, 14, 15]
>>> a
[9, 2, 13, 14, 15, 6]
>>> a[2:5] = []   # 将对应的元素值设置为 []
>>> a
[9, 2, 6]

List 的常用内置方法

a = []   # 创建空列表 a
a.append(1)  # 给 a 添加元素1
a.append([2,c])  # 给 a 添加列表[2,c]
print(a)
b = a.pop(0)   # 从a中取出索引为 0 的元素赋值给 b ,该操作会删除 a 中索引为 0 的元素
print(b)
print(a)

输出结果: [1, [2, c]] 1 [[2, c]] 在上述例子中,我们将列表作为了另一列表的元素。同理,列表的元素也可以为元组、字典等类型的数据List详解专栏

  • Tuple(元组) 元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。 元组的操作、特性和列表极像,只是里面的元素不可以修改。
tuple = ( 'abcd', 786 , 2.23, 'runoob', 70.2  )
tinytuple = (123, 'runoob')

print (tuple)             # 输出完整元组
print (tuple[0])          # 输出元组的第一个元素
print (tuple[1:3])        # 输出从第二个元素开始到第三个元素
print (tuple[2:])         # 输出从第三个元素开始的所有元素
print (tinytuple * 2)     # 输出两次元组
print (tuple + tinytuple) # 连接元组
  • Set(集合) 集合用的极少,博主基本不怎么用。感兴趣的小伙伴可以自己查资料学习。
  • Dictionary(字典) 字典(dictionary)是Python中另一个非常有用的内置数据类型。 列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。 字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。 键(key)必须使用不可变类型。 在同一个字典中,键(key)必须是唯一的。

如果我们理解列表是元素按照创建或添加的词语排好队,我们依据元素的序号来确定元素身份。而字典则是无序的,元素不需要排队了,因为我们给它们起了一个唯一辨识的名字(key),我们可以通过点名的方式来找到元素。

dict = {}
dict['one'] = "1 - 菜鸟教程"
dict[2]     = "2 - 菜鸟工具"
tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'}
print (dict['one'])       # 输出键为 'one' 的值
print (dict[2])           # 输出键为 2 的值
print (tinydict)          # 输出完整的字典
print (tinydict.keys())   # 输出所有键
print (tinydict.values()) # 输出所有值

字典常用内置方法在下面这篇文中有详细介绍 这篇文借来用用,大家可以参考学习下 别人写的字典操作详解

  • Python常用的数据类型转换 为什么要转换数据类型? 我们经常需要数据之间比较或者运算。而有些不同类型的数据运算比较会出错,所以我们需要先转换为相同类型,然后再做运算。 常用到的转换有:number和string之间相互转换,这个方法已经在下表描述的很详细。 列表和字典转换:请看专栏

函数

描述

int(x [,base])

将x转换为一个整数,x可以为float或string等类型,浮点型在转换为整型会丢失小数点后内容(舍去法转换),可以将"1"转换为 1

float(x)

将x转换到一个浮点数,x可以为int或string,可以将"1.2"转换为1.2

complex(real [,imag])

创建一个复数

str(x)

将对象 x 转换为字符串,x可以为Number类型

repr(x)

将对象 x 转换为表达式字符串

eval(str)

用来计算在字符串中的有效Python表达式,并返回一个对象

tuple(s)

将序列 s 转换为一个元组

list(s)

将序列 s 转换为一个列表

set(s)

转换为可变集合

dict(d)

创建一个字典。d 必须是一个 (key, value)元组序列

frozenset(s)

转换为不可变集合

chr(x)

将一个整数转换为一个字符

ord(x)

将一个字符转换为它的整数值

hex(x)

将一个整数转换为一个十六进制字符串

oct(x)

将一个整数转换为一个八进制字符串

下面贴出Number 和 string 之间的转换例子

用python做桌宠_编程语言_05

(3)运算符

这部分较为简单,就好比数学加减乘除,所以不多做赘述,大家在控制台输入代码试验便知。

  • Python算术运算符
5 + 4  # 加法
4.3 - 2 # 减法
3 * 7  # 乘法
2 / 4  # 除法,得到一个浮点数
2 // 4 # 除法,得到一个整数
17 % 3 # 取余
2 ** 5 # 乘方
  • Python赋值运算符
a = 21
b = 10
c = 0
c = a + b   # 将 a + b 的运算结果赋值为 c
c += a   # 效于 c = c + a
c *= a   # 等效于 c = c * a
c /= a    # 等效于 c = c / a
c %= a   # 等效于 c = c % a
c **= a   # 等效于 c = c ** a
c //= a   # 等效于 c = c // a
  • Python比较运算符
a = 21
b = 10
c = 0
 
if ( a == b ):  # 等于判断
   print ("1 - a 等于 b")
else:
   print ("1 - a 不等于 b")
if ( a != b ):  # 不等于判断
   print ("2 - a 不等于 b")
else:
   print ("2 - a 等于 b")
if ( a < b ):  # 小于判断
   print ("3 - a 小于 b")
else:
   print ("3 - a 大于等于 b")
if ( a > b ):  # 大于判断
   print ("4 - a 大于 b")
else:
   print ("4 - a 小于等于 b")
  • Python位运算符 该部分不常用到。主要实现二进制数的与、或、非、异或、左移、右移。
  • Python逻辑运算符 逻辑运算符也较为常用,可以理解为变量间的与或非。在看下表前,需要先明确一个原则,即 a的值小于等于0则相当于false,在逻辑运算时效果同a = false,同理a的值大于0,则相当于true。

运算符

逻辑表达式

描述

实例(a=20,b=10)

and

x and y

布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值

(a and b) 返回 20

or

x or y

布尔"或" - 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值

(a or b) 返回 10

not

not x

布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True

not(a and b) 返回 False

(4)数据类型

(5)逻辑语言

(6)函数

(7)引用模块

(8)面向对象

(9)常用内置函数

type("string")  # 获取数据类型
isinstance(111, int)   # 判断数类型是否为 int
del var_a, var_b   # 删除单个或多个对象

4. 提高部分

(1)选择一个好用的IDE

(2)正则表达

(3)File(文件) 方法

(4)OS方法