小白必看篇:教你如何简单学习python,快速入门
off999 2024-11-11 12:46 23 浏览 0 评论
“人生苦短,我学python”是编程届的名言。用python写小脚本的便捷性,让很多其他语言的学习者把python当作辅助语言。拥有了某一个语言的功底,再来学习另外一种语言应该是十分快速的。
基础的运算
安装好python环境后,运行win+R,输入python直接进入python的交互页面,这边可以进行数学运算。
>>> 2+2
4
复制代码表1 数学操作符,优先级从高到低
操作符 操作 例子 值 ** 指数 2 ** 3 8 % 取模/取余数 22 % 8 6 // 整除/商数取整 22 // 8 2 / 除法 22 / 8 2.75 * 乘法 3 * 5 15 - 减法 5 - 2 3 + 加法 2 + 2 4
由上面可以看出python前两个基础类型 整数、 浮点类型。这两个和java中的概念差不多。
字符串
作为基础的类型,当然少不了字符串了,和java一样,字符串可以进行拼接操作。例如:
>>> 'AAA' + 'BBB'
'AAABBB'
>>> 'CCC'+25
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can only concatenate str (not "int") to str
>>> 'DEF'*3
'DEFDEFDEF'
复制代码如上,‘AAA’+'BBB'可以直接进行字符串的拼接。但是与java不同的是 python不会进行类型强制转化,所以当用字符串‘CCC’+int型的25的时候就会报错。对python进行*操作,字符串会进行复制。
变量名
这边插一段,在java中进行变量声明的时候,需要指定变量类型,在python中不需要,但是python变量名也需要一定的规则。
- 只能是一个词。
- 只能包含字母、数字和下划线。
- 不能以数字开头。
类型转化
为了让int型的5可以转化成字符串类型,从而和字符串拼接,python提供了一些内置函数。
表2 一些python内置函数
函数 作用 示例 str() 转化类型为字符串 str(5) int() 转化类型为整数 int('5') float() 转化类型为浮点数 float('5') print() 打印函数 略 input() 读取用户输入数据 myName = input() len() 内容长度 len(myName)
控制流
布尔值
现在引入第四个数据类型,布尔值。python的布尔值也是有真或者假,但是python中的真为True(注意T必须大写),假为False(F也必须为大写),同样的布尔类型不能与其他类型相比较。
>>> True
True
>>> true
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'true' is not defined
>>> True = 1
File "<stdin>", line 1
SyntaxError: can't assign to keyword
复制代码比较类型
表3 比较类型
操作符 含义 == 等于 != 不等于 < 小于 > 大于 <= 小于等于 >= 大于等于
同时python也可以使用二元操作符 and、or、not同java中的与、或、非。
条件与代码块
你前面看到的布尔表达式可以看成是条件,它和表达式是一回事。“条件”只是在 控制流语句的上下文中更具体的名称。条件总是求值为一个布尔值,True 或 False。控制 流语句根据条件是 True 还是 False,来决定做什么。几乎所有的控制流语句都使用条件。
代码块
python没有java中那种{}来区分代码块,python中所有的代码块都是通过缩进进行的。
- 缩进增加时,代码块开始。
- 代码块可以包含其他代码块。
- 缩进减少为零,或减少为外面包围代码块的缩进,代码块就结束了。
>>> if 'a'=='b':
... print('真')
... else:
... print('假')
...
假
复制代码以上是一个if else 的控制流,条件后面加上冒号,并且代码块需要缩进方式。
while循环的格式如下:
spam = 0
while spam < 5:
print('Hello, world.')
spam = spam + 1
复制代码另外 python 也有break 和continue 关键字可以使用。
for循环
for循环单另儿拿出来以示尊重,for循环的格式如下:
for 关键字;
一个变量名;
in 关键字;
调用 range()方法,最多传入 3 个参数;
冒号;
从下一行开始,缩退的代码块(称为 for 子句)。
for i in range(5):
print('Jimmy Five Times (' + str(i) + ')')
复制代码i分别执行0、1、2、3、4.
range()方法其实有三个参数,只是可以省略其中两个。range(start、end、gap),可以指定开始、结束和步长。
>>> for i in range(0,10,3):
... print(i)
...
0
3
6
9
复制代码函数
导入模块
Python 程序可以调用一组基本的函数,这称为“内建函数”,包括你见到过的print()、input()和 len()函数。Python 也包括一组模块,称为“标准库”。每个模块都是一个 Python 程序,包含一组相关的函数,可以嵌入你的程序之中。例如,math模块有数学运算相关的函数,random 模块有随机数相关的函数,等等。
利用import或者from import语句
自定义函数
除了内建函数,大部分的函数都是自定义的。(即使从模块中导入的函数也是别人自定义好的,让你使用的)
def hello(name):
print('Hello ' + name)
复制代码def 函数名(参数):
函数体
None
在Python中有一个值称为None,它表示没有值。None是NoneType数据类型的唯一值(其他编程语言可能称这个值为null、nil或 undefined)。就像布尔值True和False一样,None必须大写首字母 N。
异常处理
def temp_convert(var):
try:
return int(var)
except ValueError, Argument:
print "参数没有包含数字\n", Argument
复制代码类似于java,python捕获处理一场用的是try,except,只不过在except后面除了可以跟异常类(比如例子中的ValueError),还可以跟上引发一场的参数(比如例子中的Argument,其实就是try中的var)
列表
列表可以看作java中的数组集合,可以存放一些元素,比如>>> spam = ['cat', 'bat', 'rat', 'elephant']。我们可以通过index获取某个元素,比如spam[0]=‘cat’,同时可以从后往前拿数据,比如spam[-1]='elephant'。
切片
除了直接操作index,获取某个元素之外,还可以通过切片获得一段子列表。
>>> spam[1:3]
['bat', 'rat']
>>> spam[0:-1]
['cat', 'bat', 'rat']
复制代码列表的拼接与复制
与java不同的是,python的列表可以自由的拼接复制。
>>> [1, 2, 3] + ['A', 'B', 'C']
[1, 2, 3, 'A', 'B', 'C']
>>> ['X', 'Y', 'Z'] * 3
['X', 'Y', 'Z', 'X', 'Y', 'Z', 'X', 'Y', 'Z']
复制代码列表结合某些关键字和方法
- 删除某列表中的某元素,可以直接用del关键字。
- 也可以结合for循环
>>> supplies = ['pens', 'staplers', 'flame-throwers', 'binders']
>>> for i in range(len(supplies)):
print('Index ' + str(i) + ' in supplies is: ' + supplies[i])
复制代码- 利用 in 、not in 直接判断某元素是否在列表中
>>> 'howdy' in ['hello', 'hi', 'howdy', 'heyas']
True
>>> spam = ['hello', 'hi', 'howdy', 'heyas']
>>> 'cat' in spam
False
复制代码- index()方法判断某元素在列表中的第一次出现的下标,没有的话就报错。
>>> spam = ['Zophie', 'Pooka', 'Fat-tail', 'Pooka']
>>> spam.index('Pooka')
1
复制代码- 用 append()和 insert()方法在列表中添加值
append()方法调用,将参数添加到列表末尾。insert()方法可以在列表任意下标处插入一个值。insert()方法的第一个参数是新值的下标,第二个参数是要插入的新值。 - 用remove()方法从列表中删除值
- 用sort()方法将列表中的值排序
元组
在java中,我们知道String 是被final修饰的,所以String本身是不能修改的,如果对String进行修改,其实是在内存中新建了一个新的String。类似的python中也有一个不可修改的数据类型——元组。元组和列表差不多,很多方法都是共通的。只不过,元组是用"()"表示,并且元组内的元素不能被修改,也不能对元组进行增加删除操作。
元组和列表的转化
函数list()和tuple()将返回传递给它们的值的列表和元组版本。
>>> tuple(['cat', 'dog', 5])
('cat', 'dog', 5)
>>> list(('cat', 'dog', 5))
['cat', 'dog', 5]
>>> list('hello')
['h', 'e', 'l', 'l', 'o']
复制代码引用与引用函数
>>> spam = [0, 1, 2, 3, 4, 5]
>>> cheese = spam
>>> cheese[1] = 'Hello!'
>>> spam
[0, 'Hello!', 2, 3, 4, 5]
>>> cheese
[0, 'Hello!', 2, 3, 4, 5]
复制代码看上面的代码,非常好理解,spam将引用复制给cheese,而不是复制的对象,所以对某个引用操作,都会改变那唯一的对象。如果想为cheese引用生成一个新的对象,就需要用到拷贝函数copy()和deepcopy()。其实就是java中的浅拷贝和深拷贝。
>>> import copy
>>> spam = ['A', 'B', 'C', 'D']
>>> cheese = copy.copy(spam)
>>> cheese[1] = 42
>>> spam
['A', 'B', 'C', 'D']
>>> cheese
['A', 42, 'C', 'D']
复制代码deepcopy()深拷贝是指,不仅生成一个与spam一样新的对象,连spam内部的数据也一起复制一堆新的对象出来。就好比说把'A','B'这种元素分别换成一个个子列表,浅拷贝不会对他们复制,而深拷贝会对这些对象进行复制。
字典
像列表一样,“字典”是许多值的集合。但不像列表的下标,字典的索引可以使用许多不同数据类型,不只是整数。字典的索引被称为“键”,键及其关联的值称为“键-值”对。所以可以说字典就是java中的Map。
myCat = {'size': 'fat', 'color': 'gray', 'disposition': 'loud'}
复制代码与列表不同的是,字典没有顺序的概念,所以不能通过操作index获取某元素,不能使用切片,不能使用排序函数。
操作字典
基本操作
所以操作字典,就需要另辟蹊径,使用函数keys()、values()和 items()。顾名思义,分别是获取字典的key值们,val值们,和键值对本身们。
>>> spam = {'color': 'red', 'age': 42}
>>> for v in spam.values():
print(v)
red
42
>>> for k in spam.keys():
print(k)
color
age
>>> for i in spam.items():
print(i)
('color', 'red')
('age', 42)
复制代码值得一提的是 spam.keys()获得的是元组,如果希望的到对应的列表就需要用list函数转化。
检查字典中是否存在键或值
可以利用in 或者not in 关键字判断数据是否在字典中。
>>> spam = {'name': 'Zophie', 'age': 7}
>>> 'name' in spam.keys()
True
>>> 'Zophie' in spam.values()
True
>>> 'color' in spam.keys()
False
>>> 'color' not in spam.keys()
True
>>> 'color' in spam
False
复制代码get()和setdefault()方法
get()可以通过key值找到相对应的value值。get有两个参数,第一个参数是key值,第二个参数是在键值对不存在(或者说key不存在)的时候,给予的默认值。
>>> picnicItems = {'apples': 5, 'cups': 2}
>>> 'I am bringing ' + str(picnicItems.get('cups', 0)) + ' cups.'
'I am bringing 2 cups.'
>>> 'I am bringing ' + str(picnicItems.get('eggs', 0)) + ' eggs.'
'I am bringing 0 eggs.'
复制代码setdefault()有两个参数,第一个是要插入键值对的key值,第二个是默认值。当原字典中有这个key值,就什么也不做,如果原字典中没有这个key值,就将默认值作为value,同key一起拼成键值对插入到字典中。
>>> spam = {'name': 'Pooka', 'age': 5}
>>> spam.setdefault('color', 'black')
'black'
>>> spam
{'color': 'black', 'age': 5, 'name': 'Pooka'}
>>> spam.setdefault('color', 'white')
'black'
>>> spam
{'color': 'black', 'age': 5, 'name': 'Pooka'}
复制代码字符串操作
我们早已经知道了字符串和其基本操作了,当我们又学习了列表、元组、字典之后再来看一下更加丰富的处理字符串的方法。
转移字符和原始字符
和java一样,python也是用 \ 对特殊字符进行转义。同时,还有原始字符 r。可以在字符串开始的引号之前加上r,使它成为原始字符串。“原始字符串”完全忽略所有的转义字符,打印出字符串中所有的倒斜杠。
>>> print(r'That is Carol\'s cat.')
That is Carol\'s cat.
复制代码注释与多行字符
python单行注释可以使用特殊字符#,同时多行注释可以使用""".
# 这是一行注释
"""
这是多行注释
这是多行注释
这是多行注释
"""
复制代码有时候我们在使用print函数的时候,打印的字符串很长很长,为了页面好看,可以使用'''将大字符串拆分成好几行。
print('''Dear Alice,
Eve's cat has been arrested for catnapping, cat burglary, and extortion.
Sincerely,
Bob''')
复制代码字符串下标和切片
一个字符串也可以当作列表来处理,其中元素可以看作是一个个字符。所以就可以对字符串进行下标操作或者切片操作。同样的就可以利用in、not in判断某字符是否在字符串内了。
>>> spam = 'Hello world!'
>>> spam[0]
'H'
>>> spam[4]
'o'
>>> spam[-1]
'!'
>>> spam[0:5]
'Hello'
>>> spam[:5]
'Hello'
>>> spam[6:]
'world!'
复制代码一些字符串内建方法
- upper() 字符串全部变大写
- lower() 字符串全部变小写
- isupper()字符串至少有一个字母,并且所有字母都是大写
- islower()字符串至少有一个字母,并且所有字母都是小写
- isalpha()字符串只包含字母,并且非空
- isalnum()字符串只包含字母和数字,并且非空
- isdecimal()字符串只包含数字字符,并且非空
- isspace()字符串只包含空格、制表符和换行,并且非空
- startswith()字符串以该方法传入的字符串开始
- endswith()字符串以该方法传入的字符串结束
- join()拼接字符串,可指定分隔符
- split()通过某值切割字符串
- rjust()左填充,如果输出数据不足,补充空格
- ljust()右填充,如果输出数据不足,补充空格
- center()字符串居中,左右数据不足,补充空格
结束
学以致用,写爬虫也是我学习python的一个动力,写了一个小脚本爬取豆瓣电影TOP250.(好像这个是爬虫入门经典案例吧,哈哈)代码贴一下
import requests as rq
from bs4 import BeautifulSoup
import pandas as pd
def get_data(url):
print(url)
html = rq.get(url).content.decode("utf-8")
soup = BeautifulSoup(html,"lxml")
divItems = soup.find_all("div","item")
for item in divItems:
name = item.find('span',{'class':'title'}).text
rating_num = item.find('span',{'class':'rating_num'}).text
number = item.find('em').text
imgUrl = item.find("img").attrs['src']
print("----------->")
print("number:"+number)
numbers.append(number)
print("name:"+name)
names.append(name)
print("rating_num:"+rating_num)
rating_nums.append(rating_num)
print("imgUrl:"+imgUrl)
imgUrls.append(imgUrl)
print("----------->")
data_df = pd.DataFrame()
numbers = []
names = []
rating_nums = []
imgUrls = []
for num in range(0,10):
get_data("https://movie.douban.com/top250?start={}&filter=".format(int(num)*25))
data_df["序列"] = numbers
data_df["名称"] = names
data_df["评分"] = rating_nums
data_df["海报"] = imgUrls
writer = pd.ExcelWriter('movie_top250.xlsx')
data_df.to_excel(writer, 'page_1', float_format='%.5f') # float_format 控制精度
writer.save()
复制代码当然,提前需要install的模块 requests
BeautifulSoup4
pandas
openpyxl
lxml(BeautifulSoup4 的解析器)
结束。
最后多说一句,小编是一名python开发工程师,这里有我自己整理的一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。想要这些资料的可以关注小编,并在后台私信小编:“01”即可领取。
相关推荐
- 联想软件商店官网(联想应用商店官网下载安装)
-
要设置联想电脑应用商店,首先需要打开商店应用并进行登录。之后可以根据个人需求浏览并下载商店中的应用,也可以通过搜索功能查找特定应用。在商店中还可以管理已下载的应用、更新应用以及查看应用评价和评论。此外...
- tp路由器设置登录网址(tplink路由器设置网址登录)
-
tplogin.cn是TPlink路由器界面的默认登陆入口地址。TPlink常见的登陆入口地址:192.168.1.1,192.168.0.1,tplogin.cn,192.168.0.254,192...
-
- qq邮箱码正确格式(qq邮箱格式怎么写正确)
-
1.每个人在注册QQ时都会有关联的一个邮箱,它的格式就是“QQ号码@qq.com”。2.用户可以免费开通自己的手机号码邮箱帐号。3.QQ邮箱还可以注册“……@foxmail.com”这样的商务型帐号。4.@qq.com邮箱可以有一个数字帐号...
-
2025-11-18 13:03 off999
- 移动硬盘做启动盘教程(移动硬盘如何制作系统启动盘)
-
1.在xp系统中安装矮人DOS。2.在xp系统中用PQ(windows版)将移动硬盘的第一个分区设为活动,并激活。(注:你将要在该分区写入引导信息)3.重启电脑,进入矮人DOS,选择支持usb驱动...
- 怎样打开cdr文件(.cdr用什么打开)
-
cdr是什么文件?cdr文件用什么打开?cdr文件是CorelDraw图像制作软件标准的输出格式,与photoshop(PS)图片设计软件类似都属于图片设计软件,需要打开cdr文件我们就需要先了解C...
- 微软拼音输入法好用吗(微软拼音输入法好用吗知乎)
-
CTRL(Control)组合键;Ctrl+Alt+A(截屏);Ctrl+A(All)全选;Ctrl+C(Copy)复制;Ctrl+V粘贴Ctrl+S保存,窗口...
- 怎么设置屏保密码(怎么设置屏保密码和锁定时间)
-
屏保密码设置的方法步骤1、鼠标左键单击桌面下的【开始】菜单键;点击【控制面板】;2、点击【外观和个性化】;然后点击【个性化】选项卡中的【更改屏幕保护程序】;3、选择一个自己喜欢的程序,勾选,然后再点击...
- 无法下载ie浏览器怎么办(ie浏览器显示无法下载)
-
如果您在使用IE浏览器时遇到无法下载的问题,以下是一些常见的解决办法:1.清除浏览器缓存:打开IE浏览器,依次点击工具(齿轮图标)->Internet选项->常规选项->...
- 笔记本w7可以升级w10吗(笔记本w7可以升级w10吗)
-
要将wln7升级到win10,需要先确保计算机配置符合win10的最低要求,包括处理器、内存、硬盘空间等。然后,可以下载win10的升级助手或镜像文件,在升级前备份重要数据,选择需要保留的文件和设置,...
-
- 如何卸载电脑浏览器软件(怎样卸载电脑浏览器)
-
如果我们发现我们从浏览器里面下载的东西删不了,这个时候,我们就可能是由于下载到了了一些病毒软件或者是病毒程序而导致的,如果说想要解决这个问题,方法的话也很简单,我们可以通过杀毒软件对其进行杀毒,然后再进行卸载,基本上就可以删除了。app卸载...
-
2025-11-18 09:51 off999
- 联想怎么看电脑配置和型号(联想怎么看电脑配置和型号笔记本)
-
笔记本看型号有推荐三种方法:第一种,点击你笔记本上的(开始),然后找到(运行)打开,在里面的输入框里输入(dxdiag)点击确定,你就可以看见笔记本型号,系统型号等笔记本信息。第二种,就是在你的电脑上...
- 怎么ghost电脑系统(怎样ghost)
-
使用GHOST软件备份系统即可。1、网上下载一键GOST安装好,重启电脑运行一键gost-选择手动进入GOST。2、进入GHOST的操作界面,点OK。3、选择菜单到Local(本机)--Partiti...
- u盘读取软件下载(u盘读取器下载)
-
手机播放U盘里的视频不用刻意的去安装什么播放器,一般手机里自带的播放器就能够直接播放U盘里的一般常见的视频。只要你要播放的视频,都是平时在电脑上或者电视上能够正常播放的视频,一般在手机里面它的系统自带...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
慕ke 前端工程师2024「完整」
-
失业程序员复习python笔记——条件与循环
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
