活动地址:CSDN21天学习挑战赛
?感谢老铁们的支持
?初步了解Python
如果觉得文章对你有帮助,请给我专栏点点订阅,你的支持是我们更新的动力,感谢大家的支持?
点击跳转到我的Python专栏
?后续会更新各种爬如下:
?????
?????
?????
?????
?目录
?简介?发展历史?Python环境搭载?PIP下载及配置?使用pip管理Python包?Python程序终端运行使用IDE(Pycharm)集成开发环境 ?Python使用关键字变量变量的类型查看数据类型python之类型之间的转换之布尔型python之算术运算符python之复合运算符python之比较运算符python之逻辑运算符python之格式化输出python之判断语句python之高级字符串python之列表的增删改查python之元组的使用以及方法的使用python之切片python之字典的增删改查及遍历python之创建函数以及调用函数以及返回函数局部变量&&全局变量python之文件的读、写、开、关python之文件的序列化和反序列化python之异常处理 最后
提示:以下是本篇文章正文内容
?简介
Python是初学者的语言,Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏。Python的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。Python是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。Python是交互式语言: 这意味着,您可以在一个 Python 提示符 >>> 后直接执行代码。Python是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术。Python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python是一门优雅而健壮的编程语言,它继承了传统编译语言的强大性和通用性,同时也借鉴了脚本语言和解释语言的易用性Python是一种灵活多用的计算机程序设计语言, 使用Python进行的编程语法特色更强,具有更高的可读性。?总结特点:Python是一种解释型语言、Python是交互式语言,Python是面向对象语言
?发展历史
Python的发展历史。Python由荷兰人吉多·范罗苏姆(Guido van Rossum)于1989年创造,并于1991年发布第一个公开发行版。自2004年以后,Python的使用率大幅增长,Python2于2000年10月发布,稳定版本是Python 2.7。Python3于2008年12月发布,不完全兼容Python2。
?Python环境搭载
下载Python 访问Python官网: ⏬⏬⏬点击downloads按钮,在下拉框中选择系统类型(windows/Mac OS/Linux等)选择下载最新版本的Python 安装Python 双击下载好的Python安装包勾选左下角 Add Python 3.7 to PATH 选项,然后选择 Install now 立刻安装Python.默认安装?PIP下载及配置
pip说明:pip 是一个现代的,通用的Python包管理工具。提供了对 Python 包的查找、下载、安装、卸载的功能,便于我们对Python的资源包进行管理。
在安装Python时,会自动下载并且安装pip.如下图所示 恭喜道友下载成功? 个别特例 如?图所示⚠:可能是因为在安装python的过程中未勾选 Add Python 3.7 to PATH 选项,需要手动的配置pip的环境变量。
步骤:右键 此电脑 ? 环境变量 ? 找到并且双击 Path ? 在弹窗里点击新建 ? 找到pip的安装目录,把路径添加进去。
这里新添加的路径 E:\python\Scripts 是Python安装好以后, pip.exe 这个可执行文件所在的目录。
?使用pip管理Python包
pip install <包名> 安装指定的包pip uninstall <包名> 删除指定的包pip list 显示已经安装的包pip freeze 显示已经安装的包,并且以指定的格式显示python -m pip install --upgrade pip升级包如下图: 运行pip install 命令会从网站上下载指定的python包,默认是从 https://files.pythonhosted.org/ 网站上下载。这是个国外的网站,遇到网络情况不好的时候,可能会下载失败,我们可以通过命令,修改pip现在软件时的源。凡是包下载慢 就下镜像OK?下载格式:pip install 包名 -i 国内源地址示例: pip install ipython -i http://mirrors.aliyun.com/pypi/simple/ 阿里云服务器
上下载requests(基于python的第三方web框架)国内常用的pip下载源列表:
阿里云: 阿里
中国科技大学: 中国科技大学
豆瓣(douban) :豆瓣
清华大学: 清华大学
中国科学技术大学: 中国科学技术大学
?Python程序
终端运行
大佬直接在Python解析器中写代码退出python环境 exit()、 ctrl + z ==>enter使用IDE(Pycharm)集成开发环境
下载地址:官方下载地址个人资源腾讯微云下载:链接:https://share.weiyun.com/PJzXMe78 密码:99g973?Python使用
关键字
关键字的概念 一些具有特殊功能的标识符,这就是所谓的关键字。关键字,已经被python官方使用了,所以不允许开发者自己定义和关键字相同名字的标识符。变量
?说明
变量即是可以变化的量,可以随时进行修改。程序就是用来处理数据的,而变量就是用来存储数据的。(和其他语言不同这里不需要声名)HH= "Hello Python!"print(HH) # 注意,变量名不需要使用引号包裹
变量的类型
程序中: 在 Python 里为了应对不同的业务需求,也把数据分为不同的类型。 如?图
?练习:
number = 18string = "字符串"flo = 1.66booleanT = TruebooleanF = False//列表name_list = ['阿里巴巴', '京东', '小']//元组name_tuple = (1, 2, 5, 4, 1, 4, 45, 4, 7, 7, 7, 7)name_obj = { "name": "郭先生!", "age": 18, "sex": "男",}print(number)print(string)print(flo)print(booleanT)print(booleanF)print(name_list[0])print(name_tuple[2])print(name_obj)//遍历数组for name_lists in name_list: print(name_lists)
查看数据类型
?练习:
number = 18string = "字符串"flo = 1.66booleanT = TruebooleanF = Falsename_list = ['阿里巴巴', '京东', '小']name_tuple = (1, 2, 5, 4, 1, 4, 45, 4, 7, 7, 7, 7)name_obj = { "name": "郭先生!", "age": 18, "sex": "男",}print(type(number))print(type(string))print(type(flo))print(type(booleanT))# 列表print(type(name_list))# 元组print(type(name_tuple))# 字典print(type(name_obj))
python之类型之间的转换之布尔型
?练习:
name = "郭先生"age = 18obj = { "name": "郭先生"}arr = [1, 1, 1, 1, 4]name_tuple = (1, 1, 5, 4, 5)name1 = ""name2 = ''age1 = 0age2 = 0.0obj1 = {}arr1 = []name_tuple1 = ()print(bool(name))print(bool(age))print(bool(obj))print(bool(arr))print(bool(name_tuple))print('----------------')print(bool(name1))print(bool(name2))print(bool(age1))print(bool(age2))print(bool(obj1))print(bool(arr1))print(bool(name_tuple1))
python之算术运算符
?
?练习:
a = 4b = 4c = "55"print(a + 3)print(a - 3)print(a * 3)print(a / 3)print(a // 3)print(a % 3)print(2 ** 3)print((2 + 4) * 3)# 特殊的类型print(int(int(c) + 1) + 5)
python之复合运算符
?
?练习:
a = 7print(a)a += 2print(a)a *= 2print(a)a /= 2print(a)a //= 2print(a)a %= 2print(a)a **= 2print(a)
python之比较运算符
?
?练习:
a = 10b = 88c = 99print(a > b)print(b < c)print(a == b)print(a != b)print(b >= c)print(b <= c)
python之逻辑运算符
?
?练习:
a = Falseb = 50print(a > b or a < 10)print(a > b and b < 10)print(a < b or b < 10)print(not a)
python之格式化输出
?练习:
name = "阿里巴巴"age = 18print("该生的姓名:%s\n该生的年龄为:%d" % (name, age))
python之判断语句
?练习:
name = input("请输入内容!")if name == "阿里巴巴": print("欢迎您马云!")else: print("请滚出我的房间!")
python之高级字符串
?
名 | 作用 |
---|---|
获取长度:len | len函数可以获取字符串的长度。 |
查找内容:find | 查找指定内容在字符串中是否存在,如果存在就返回该内容在字符串中第一次出现的开始位置索引值,如果不存在,则返回-1. |
判断: startswith,endswith | 判断字符串是不是以谁谁谁开头/结尾 |
计算出现次数:count | 返回 str在start和end之间 在 mystr里面出现的次数 |
替换内容:replace | 替换字符串中指定的内容,如果指定次数count,则替换不会超过count次。 |
切割字符串:split | 通过参数的内容切割字符串 |
修改大小写:upper,lower | 将字符串中的大小写互换 |
空格处理:strip | 去空格 |
字符串拼接:join | 字符串拼接 |
?练习:
string = input("请输入内容!")print(len(string))print(string.find('a'))print(string.startswith("a"))print(string.endswith("a"))print(string.count("a"))# 替换print(string.replace("a", "h"))# 将字符串切割为数组print(string.split("a"))print(string.upper())print(string.lower())# 去掉空格print(string.strip())print('--------------------')# 我认为这个设计非常非常的不友好print(string.join('ccc'))
python之列表的增删改查
?练习:
print('列表的增-------------------------')append 在末尾添加元素insert 在指定位置插入元素extend 合并两个列表list_a = ['我是李嘉诚', '哈哈']list_b = ['我是李嘉诚1', '哈哈1']list_a.append("郭先生")list_b.append("郭先生1")list_a.insert(0, "刺马运费不没有")print(list_a)print(list_b)print(list_a)list_a.extend(list_b)print(list_a)print('列表的改-------------------------')list_a = ['我是李嘉诚', '哈哈']list_b = ['我是李嘉诚1', '哈哈1']list_a[0] = "aa"print(list_a)print('列表的查-------------------------')list_a = input("请输入内容!")list_b = ['李嘉诚', '郭先生', '马云']if list_a in list_b: print("我在")else: print("我不在")list_a = input("请输入内容!")list_b = ['李嘉诚', '郭先生', '马云']if list_a not in list_b: print("我不在")else: print("我在")print('列表的删-------------------------')del:根据下标进行删除pop:删除最后一个元素remove:根据元素的值进行删除list_b = ['李嘉诚', '郭先生', '马云']# 删除尾部print(list_b.pop())# 根据下表删除del list_b[0]print(list_b)# 删除指定的名称list_b.remove('郭先生')print(list_b)
python之元组的使用以及方法的使用
Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。定义只有一个元素的元组,需要在唯一的元素后写一个逗号?练习:
tupleS = (1, 1, 1, 2, 5, 4, 5, 4)tupleS1 = (1,)print(type(tupleS))print(type(tupleS1))print(tupleS)print(tupleS1)
python之切片
切片是指对操作的对象截取其中一部分的操作。字符串、列表、元组都支持切片操作。切片的语法:[起始:结束:步长],也可以简化使用 [起始:结束]⚠:注意:选取的区间从"起始"位开始,到"结束"位的前一位结束(不包含结束位本身),步长表示选取间隔。
?练习:
string = "hello World"print(string[0])print(string[0:5])print(string[:4])print(string[0:])print(string[0:4:2])
python之字典的增删改查及遍历
?练习
# 字典的查------arr = {'name': '郭先生', 'age': 181}print(arr['name'])print(arr.get('name'))print(arr["name"])print(arr.get("name"))# 字典的改------arr['name'] = "法外狂徒"# 字典的增------arr['hellow'] = "你好!"# 字典的删------# del arr['name']# del arr# 清空字典内的内容------arr.clear()print(arr)print('-------------')# 字典的遍历------典的遍历arr1 = {'name': '郭先生', 'age': 181}for key in arr1.keys(): print(key) 遍历字典的value(值)for key in arr1.values(): print(key)遍历字典的项(元素)for key, value in arr1.items(): print(key, value) 遍历字典的key-value(键值对)for items in arr1.items(): print(items)
python之创建函数以及调用函数以及返回函数
?练习:
def fun(a, b): c = a + b d = 18 return dprint(fun(1, 5))
局部变量&&全局变量
什么是局部变量 如下:
python之文件的读、写、开、关
1、 文件路径
绝对路径:指的是绝对位置,完整地描述了目标的所在地,所有目录层级关系是一目了然的。 例如: D:\Python ,从电脑的盘符开始,表示的就是一个绝对路径。 相对路径:是从当前文件所在的文件夹开始的路径。 test.txt ,是在当前文件夹查找 test.txt 文件./test.txt ,也是在当前文件夹里查找 test.txt 文件, ./ 表示的是当前文件夹。./test.txt ,从当前文件夹的上一级文件夹里查找 test.txt 文件。 …/ 表示的是上一级文件夹demo/test.txt ,在当前文件夹里查找 demo 这个文件夹,并在这个文件夹里查找 test.txt 文件。2.、访问模式如?图:
?练习:
# 写------fs = open('text.txt', 'w')fs.write("阿里巴巴\n")# 累加的形式进行写------fs = open('text.txt', 'a')fs.write("阿里巴巴\n")# 读------fs = open('text.txt', 'r')read = fs.read()print(read)# 读text.txt取第一行------read1 = fs.readline()print(read1)# 读text.txt并返回数组------read2 = fs.readlines()print(read2)# 关闭文件------fs.close()
python之文件的序列化和反序列化
?练习:
print('--------------序列化第一种方法')arr = ['a', 'a', 'a', 'a']fs = open('text.txt', 'w')import jsonresult = json.dumps(arr)fs.write(result)fs.close()print('--------------序列化第二种方法')arr = ['a', 'a', 'a', 'a']fs = open('text.txt', 'w')import jsonjson.dump(arr, fs)fs.close()print('--------------反序列化第一种方法')fs = open('text.txt', 'r')result = fs.read()print(result)print(type(result))import jsonresult = json.loads(result)print(result)print(type(result))print('--------------反序列化第二种方法')fs = open('text.txt', 'r')import jsonresult = json.load(fs)print(result)print(type(result))
python之异常处理
?练习:
try: fs = open('text1.txt', 'r') result = fs.read() print(result)except FileNotFoundError: print('网络异常!')
最后
本文章到这里就结束了,觉得不错的请给我专栏点点订阅,你的支持是我们更新的动力,感谢大家的支持,希望这篇文章能帮到大家
点击跳转到我的Python专栏
下篇文章再见ヾ( ̄▽ ̄)ByeBye