目录
3.1.1 进入官网 https://www.python.org/
3.1.2进入官网后,点击页面头部栏 Downloads,会弹出下拉框,然后选择需要安装的电脑系统
3.1.3 进入Windows以后,选择左侧的列表,然后选择你要安装的版本(不建议安装最新的),然后再根据该电脑系统安装对应的位数的版本。(选择installer结尾的)
3.1.5打开的过程中,第一项是默认C盘,第二项选择其他的盘,根据增加的情况而定;(首次打开,窗口右下角会有一个 add Path,可以勾选上,不勾的话,后面得需要自己配置环境变量)
3.1.8,然后打开cmd窗口,分别输入 python 与 pip ,来检查python是否安装好
3.2.1 进入pycharm官网,点击下载;版本根据自己的需求而定。
3.2.2 打开下载的安装包,设置pycharm安装路径,点击下一步
3.2.4.安装后,勾选Run pycharm,点击Finish,软件会打开。
3.2.5.3 .点击插件(plugins),然后搜索Chinese
1.Python 简介
- pyhton 是著名的“龟叔”(Guido van rossum)在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言。
- python语言是在ABC语言基础上发展而来的,其设计的初衷是成为ABC语言的替代品。
- ABC语言虽然是一款功能强大的高级语言,遗憾的是,由于ABC语言不开放的原因,导致它没有得到普及应用,基于这个考虑,Guido在开发Python之初就决定将其开源。
- python语言为我提供非常完美的基础代码库,覆盖了网络,文件,GUI。数据可靠,文本等大量内容,被形象的称为“内置池(batteries included)”。用python开发,许多功能不必从零编写,直接使用现成的即可。
- 处理内置的库外,Python还有大量的第三方库,也就是别人开发的库,供你直接使用的东西。当然,如果你开发的代码通过很好的封装,也可以作为第三方库给别人使用。
- 许多的大型网站就是用Python开发的,例如YouTube,Instagram,还有国内的豆瓣,包括Google,Yahoo等。
2.Python应用领域
Python 有着非广泛的应用,几乎所有大中型互联网公司都在使用 Python,例如国外的 Google、Youtube、Dropbox,国内的百度、新浪、搜狐、腾讯、阿里、网易、淘宝、知乎、豆瓣、汽车之家、美团等等,Python 帮助它们完成了各种各样的任务。
- Web应用开发
在 Web 开发领域,Python 绝对是一颗冉冉升起的新星。尽管 PHP、JS 目前依然是 Web 开发的主流语言,但 Python 上升势头非常猛劲。尤其随着 Python 的 Web 开发框架逐渐成熟(比如 Django、Flask、Tornado、Web2py 等等),程序员可以更轻松地开发、管理复杂的 Web 程序。
- 自动化运维
所谓自动化运维,实际上就是利用一些开源的自动化工具来管理服务器,比如业界流行的 Ansible(基于Python开发),它能帮助运维工程师解决重复性的工作。
- 人工智能领域
目前世界上优秀的人工智能学习框架,比如 Google 的 TransorFlow(神经网络框架)、FaceBook 的 PyTorch(神经网络框架)以及开源社区的 Karas 神经网络库等,都是用 Python 实现的。
- 网路爬虫
Python 语言很早就用来编写网络爬虫。Google 等搜索引擎公司大量地使用 Python 语言编写网络爬虫。从技术层面上讲,Python 提供有很多服务于编写网络爬虫的工具,例如 urllib、Selenium 和 BeautifulSoup 等,还提供了一个网络爬虫框架 Scrapy。
- 游戏开发
很多游戏开发者先利用Python或Lua编写游戏的逻辑代码,使用C++编写图形显示等对性能要求较高的模块。Python标准库提供了pygame模块,利用这个模块可以制作2D游戏。
3.Python安装
- 可以先通过黑窗口看一下Python的版本(去电脑搜索cmd)
- 输入命令:Python -V
- 注意:windows 7系统的只能安装3.9.0以下的版本(如果不能安装就继续降版本);win10,11,没有限制;
3.1下载安装包步骤
3.1.1 进入官网 https://www.python.org/
3.1.2进入官网后,点击页面头部栏 Downloads,会弹出下拉框,然后选择需要安装的电脑系统
3.1.3 进入Windows以后,选择左侧的列表,然后选择你要安装的版本(不建议安装最新的),然后再根据该电脑系统安装对应的位数的版本。(选择installer结尾的)
3.1.4 然后找到你下载好的安装包,双击打开。
3.1.5打开的过程中,第一项是默认C盘,第二项选择其他的盘,根据增加的情况而定;(首次打开,窗口右下角会有一个 add Path,可以勾选上,不勾的话,后面得需要自己配置环境变量)
3.1.6,要记住安装目录,(配置环境变量时用的到)。
3.1.7 ,如下图我电脑,安装到D盘,安装好如下:
3.1.8,然后打开cmd窗口,分别输入 python 与 pip ,来检查python是否安装好
3.2 安装配置PyCharm工具(编译工具)
- 此工具为收费的工具,开始有30天试用期
3.2.1 进入pycharm官网,点击下载;版本根据自己的需求而定。
3.2.2 打开下载的安装包,设置pycharm安装路径,点击下一步
3.2.3. 按自己的情况设置即可。
3.2.4.安装后,勾选Run pycharm,点击Finish,软件会打开。
3.2.5 .在pycharm设置中文模式
3.2.5.1.打开文件:file
3.2.5.2. 打开设置
3.2.5.3 .点击插件(plugins),然后搜索Chinese
4. 变量与数据类型
4.1 变量
- 概念:变量就是在电脑的运行内存开辟一个空间, 用来存储数据;
- 变量名取名规范:
- 变量名只能包含字母,数字,下划线。不能以数字打头,可以字母打头
- 变量名之间不能包含空格,但可以用下划线来分隔其中的词。例如user_name
- 不能用Python关键字和函数名来命名
- 变量名尽量简短且有描述性。例如:n没有name好;
就目前而言,在python里的变量名应尽可能使用小写,大写虽然不会导致错误,但是使用小写是为了增加代码的可读性。
4.2 注释
- 行注释:#
- 快捷键:Ctrl+/
- 块注释
'''
Python中三单注释
'''
"""
Python中三双注释
"""
4.3 数据类型
前言:Python是一门动态的(dynamic)且强类型(strong)语言。
动态/静态
- 在静态型语言中,类型检查发生在编译阶段,就像JAVA语言;
- 在动态型语言中,类型检查发生在运行阶段,就像Python语言;
- 静态类型:所有的变量类型必须显示地声明,因为在编译阶段就被需要检查;
- 动态类型:显示声明不被要求,因为类型赋值发生在运行阶段;
强类型/弱类型
- 强类型中:不管在编译还是在运行阶段,一旦赋值,类型就已经定好了,不能与其他类型进行混合计算;
- 弱类型中:很容易与其他类型混合运算;
JAVA语言中的数据类型:String / int / short / long / byte / double / float / boolean / char
Python语言中的数据类型:str / int / float / bool
#python:动态的强类型的语言
a = "haha"
b = 1
c = 1.2
#java:静态的强类的型语言
int a = 1;
String b = "haha";
double c = 1.23;
#javaScript:动态的弱类型的语言
let a = "haha";
let b = 123;
4.3.1 字符串(str)
- 在Python中,用引号括起来的都是字符串,其中的引号可以是单引号也可以是双引号
#单引号和双引号
temp = "双引号"
temp = '单引号'
print(temp)
temp = '单引号里面"有双引号"'
print(temp)
#转义符处理
temp = "shuan \"haha\""
print(temp)
#通过+拼接
temp = mis.li
print("你好"+temp+"欢迎来到Python")
#另一个输出方式,不需要+拼接
print(f"你好,{temp}欢迎来到Python")
#使用制表符\t(大空格) ,换行符\n
print("你好 \t ,欢迎来到\nPython")
- 不同数据类型与str拼接,需要进行类型转换处理
count = 123
print("我的工资是:"+str(count))
print(int('12')+count) #正确
print('哈哈'+str(count)) #正确
print('1'+count)#错误
4.3.2 整数(int)
在Python中,可对整数执行加(+)减(-)乘(*)除(/)
# 加(+)减(-)乘(*)除(/)运算
count = 12
print(count + 12)
print(count - 11)
print(count * 3)
print(count / 10)
#使用两个乘号表示乘方(数学里面的平方)
print(count ** 3)#相当于count * count * count
#把符号:* 打印30次
print("*"*30)
4.3.3 浮点型(float)
Python将带小数点的数字都称为浮点数
- 浮点数的缺陷
a = 0.1
b = 0.2
print(b-a) #0.1
print(a+b) #0.300000000000000004
提示:计算机系统底层采用二进制,而整数(1,2,3等),都能完美的转换成二进制,但是小数(浮点数)有可能变成无线二进制(精度丢失问题)
- 所以说,只要是float类型的数据相加,无论在任何语言,任何数据库,中进行加减乘除运算,得到数据都是不准确的。
解决方案:
- 数据库中使用decimal类型(字符小数,例如:'1.111'),在java中使用bigdecimal 进行计算操作;
- 可以进行变成整数算完后变回小数。例如 a = 0.1; b = 0.2 ; -> a = 0.1* 10 ; b = 0.2 * 10;(a+b)/10; (在Python中 “ / ” 是数学的除法)
4.3.4 布尔型(bool)
Python 提供了bool类型来表示真(true)和假(false),比如常见的 5 > 3,这个是正确的,在程序世界 称为真(对)
配合运算符:>=, <= ,== ,!= ,and ,or 一起使用;
4.3.5 列表
Python中没有数组,但是具有比数组更强大的列表;
列表会将所有的元素都放入一对中括号中 [ ] 的里面,相邻元素之间用逗号 ,分离,如下图:
nums = [ 1,2,3,4,5,6]
- 对列表的操作:
# 1) 查看names的大小
print(len(nums))
# 2) 取值,从头到尾取值,索引从0开始
print(nums[0])
# 3) 取值,从尾到头取值,索引从-1开始
print(nums[-1])
# 4) 赋值
nums[0]="zhaoliu"
print(nums)
nums[-2]="wahaha"
print(nums)
# 5) 切片
print(nums[1:4])
# 6) 插入
nums.insert(2,10)
print(nums)
- 追加 append(): 在列表末尾添加元素
nums = [1,2,3,4,5,6]
nums.append(100)
print(nums)#结果是 [1,2,3,4,5,6,100]
- 插入 insert() : 在列表中指定位置之前插入
nums.insert(0,120)
print(nums) #结果是 [120,1,2,3,4,5,6]
nums.insert(-2,888)
print(nums) #结果是 [120,1,2,3,4,888,5,6]
- 删除 del() : 删除指定的元素
del nums[0]
print(nums) #结果是[1,2,3,4,888,5,6]
- 删除(出栈方式)pop() : 根据索引删除,也就是将指定的元素从列表中拿出来;
print(nums.pop()) #默认从最后一个出栈,结果是 6
print(nums.pop(0)) #指定位置出栈,结果是 1
- 删除 remove() : 根据元素删除
#进行删除
nums.remove(5)
print(nums) #结果是:[1,2,3,4,6]
#判断元素是否存在
print(5 in nums)
print(5 not in nums)
- 排序
#临时性排序
print(sorted(nums))
#永久性排序
nums.sort()
print(nums)
- 反转(倒序)
nums.reverse()
print(nums)
- 切片
start和stop的正值代表列表下标,负值代表列表从右往左数起,倒数第几个数据。
方向由step确定,step为正时,从左往右切片,step为负时,从右往左切片;
start和stop的空值分别代表列表的头尾的最后一个数据;
至于start和stop空值的时候代表的是列表的头还是尾,由step的正负值决定,即由step确定列表切片的方向后决定。
语法:数组名 [ start : stop : step]
- start : 起始下标
- stop:停止下标
- step:步长数
print(nums[::2])#->没有指定头尾,直接从头到尾隔两个步长,但是只会截取第二个步长的前一个元素
print(nums)
print(nums[1::2])#->头指定,头被切了
print(nums[::-1])#->不会切片,将列表从头到尾倒序一下(从右往左)
print(nums[-1:-3:-1])#start和top为负值代表从右往左,不包含结束位置
print(nums[-3:])
print(nums[0:2])
print(nums[:])#->从头到尾,步长默认为1
print(nums[::])#从头到尾,步长1
print(nums[::1])#从左到右,步长1
print(nums[::-1])#从右到左,步长1
- 利用切片赋值
nums = [1,2,3,4]
nums[0:4]=[] #意思是从0位(下标)开始到4之前的所有元素都为空,不包括4位的元素,
print(nums) #结果是 4
nums[0:4]=[1,2] 意思是:从0位(下标)开始到4之前的所有元素都为1,2不包括4位的元素,因为列表中不能有相同的元素,所以结果只有1,2
print(nums) #结果是 [1,2]
4.3.6 元组
元组(tuple)是Python中另一个重要的序列结构,和列表类似,元组也是由一系列按特定顺序排序的元素组成。
元组与列表(list)的区别:
- 列表的元素可以更改,包括修改元素值,删除和插入元素,所以列表是可变序列
- 元组一旦被创建初始化值后,它的值就不可更改,所以元组是不可变序列
对元组操作
nums=(0,1,2)
a,b,c=nums
print(a,b,c)
print(a+b+c)
print(a*b*c)
print(a//b//c)
print(a**b**c)
print(a%b%c)
print(len(nums))
print(nums)
tuple类型一旦初始化就不能修改
nums[0]=5-> 运行这个代码会报错
print(nums)
# 元组作为返回值可以方便返回多个值->键值对形式
def get_stu():
name="zsa"
age = 18
return name,age
result=get_stu()
print(result)
# 元组具有不可变性,可以作为字典的key
my_dict={
("sunyan",25):"aline@em.com",
("wunjun",25):"bob@ex.com"
}
print(my_dict)
4.3.7 集合
Python中的集合,和数学中大集合概念一样,用来保持不重复的元素,即集合中的元素都是唯一的,互不相同
和字典一样,Python集合会将所有的元素放在一对花括号{}中,相邻元素之间 “,” 分离
# 创建一个空的set集合
cities = set()
# 使用{}创建带有数据的set集合且不能重复
cities = {'human','wunjun','sunyan'}
print(cities)
# 出栈,随机
print(cities.pop())
# 指定删除,remove删除不存在的元素则报错
cities.remove("human")
# 判断元素是否存在
if "hunan" in cities:
cities.remove("hunan")
#discard删除不存在的元素不报错
cities.discard("beijing")
clear代表清除
cities.clear()
print(cities)
# 集合运算
a = {1,2,3,4}
b = {3,3,4,5}
# a-b的差
print('a-b的差集:'+str(a-b))
# b-a的差集
print('a-b的差集:'+str(b-a))
# a和b的并集
print('a和b的并集:'+str(a | b))
# a和b的交集
print('a & b的交集:'+str(a & b))
# a和b的对称差集
print('a和b的对称差集:'+str(a ^ b))
4.3.8 字典
Python字典(dict)是一种无需的,可变的序列。它的元素以键值对(key - value )的形式存储
相应的,列表(list)和元组(tuple)都是有序的序列,它们的元素在底层是挨着放的
# 在python中,字典用放在花括号{}中的一系列键-值对表示(与JSON相似)
preson = {
"name":"账单",
"age":123,
"salary":300
}
print(preson["name"])
print(preson["age"])
print(preson["salary"])
preson["name"]="sunyan"
print(preson)
本篇分享就到这了,后续会出Python的其他博客,感谢你的观看与支持!