Python开发(一):Python介绍与基础知识
Python开发(一):Python介绍与基础知识
本次内容 一:Python介绍:
二:Python是一门什么语言
三:Python:安装
四:第一个程序 “Hello world”
五:Python 交互器
六:变量:
七:计算机是如何读懂你的指令的
八:注释
九:数据类型
十 :运算
十一:用户交互
十二:流程控制
十三:for 循环
十四:while 循环
十五:三元运算
一:Python介绍:
1:简介
Python 是一种面向对象的解释型计算机程序设计语言,由荷兰人 吉多·范罗苏姆(Guido van Rossum)于1989年发明,第一个公开发行版发行于1991年。
最新的TIOBE排行榜占据第四。Python崇尚优美、清晰、简单,是一个优秀并广泛使用的语言。
2:主要领域
系统运维:系统运维自动化开发最常用语言。
金融:python开发效率高语言结构清晰简单、库丰富,所以在金融的量化交易、金融分析等,领域占用额极高。
Web开发:拥有众多优异的 WEB 框架,当前众多网站使用 Python 开发,如豆瓣,YouTube等
云计算:在开源的云软件中 openstack 就是有 Python 编写的。
二:Python是一门什么语言
1:高级语言与低级语言
计算机是无法读懂人们写的代码的,只能读懂二进制代码,所以需要将人们写的代码翻译成二进制代码,才能将二进制代码交给CPU来执行。
高级语言就是基于这种翻译的前提下,从人类逻辑思维角度出发而设计出来的计算机语言,需要经过编译成特定机器上的目标代码才能执行。每一条高级语言需要机器的多条指令才能完成执行
所以我们可以理解为:距离用户越近的语言就越高级,距离机器越近的语言就越低级
2:编译型与解释型
编译型语言:将代码翻译成机器能读懂的二进制代码,这个过程称作预编译。在将二进制文件直接交给CPU来执行。
优点:
1:编译器只需要进行一次预编译
2:经过预编译后,程序可以直接交给机器执行,所以运行速度快
3:经过预编译后,可以脱离编译环境独立运行
缺点:
1:编译后如过想要修改就只能对整个模块进行重新编译
2:由于是事前编译好的所以只能在特定的环境下执行,可移植性差
解释型语言:只有在程序执行时,才将整套代码分为若干条,逐条的交给解释器,对其进行编译后在交给计算机来执行。
优点:
1:兼容性好:代码是由解释器交给机器的,所以只需要有解释器就可以在不同环境中执行。
2:在需改代码时只需要对修改部分进行操作即可
缺点:速度慢,每次执行都需要重新解释
3:Python的优缺点
优点:1:Python是高级语言,所以不需要考虑底层的细节
2:可移植性强:代码无需修改就可以直接在其他平台上运行
3:可扩展型:Python兼容多种语言,如C++ 、C 、shell 等
4:可嵌入性:可以将 Python 嵌入到 C/C++ 程序中
缺点:1:解释性语言,所以速度慢
2:代码无法加密
3:线程不能利用多CPU
4:选择python2 or python3
Python 3发布2008。最后的2.×版本2.7发布了2010年,这个声明为了放弃扩展支持。2.X版本将不会再有新的主要版本更新,Python 2.7 支持到2020年,之后就会放弃这个本版本。3.X正在发展了五年的稳定版本,包括版本3.3在2012,3.4在2014,3.5在2015。这意味着,所有最近的标准库的有些功能只在 python3.x 中使用。
三:Python:安装
Windows
1:下载安装包:https://www.python.org/downloads/
2:安装默认安装即可,但是在安装时需要记住安装路径,默认为 C:\python27
3:设置环境变量:
右键计算机 → 属性 → 高级设置 → 高级 → 环境变量 → 在下方框中找到 Path 双击打开 → 用分号 " ; " 进行分各 →写入 C:\python27 → 点击确定 退出
//* 注意:1:在编辑系统变量时是使用 “ ; ” 分号进行分割
2:在分号后面写入你的Python路径
LINUX,MAC 默认安装了 Python 环境
四:第一个程序 “Hello world”
1:使用Python命令执行hello.py
2:制定解释器
不适用Python 命令执行脚本时,给脚本权限直接执行 ./hello.py 时会报错如:
要想处理此错误就必须在文件的第一行写入 #!/usr/bin/env python3
五:Python 交互器
进入 Python 交互器
六:变量:
1:变量的定义
变量用于存储在计算机程序中被引用和操作的信息.。他们还提供了一个标签数据的描述性名称的方式,所以我们的程序可以更清楚地了解读者和我们自己。把变量看作是容纳信息的容器是很有帮助的.。他们的唯一目的是在内存中标记和存储数据.。这些数据可以在整个程序中使用.。
2:变量的规则
1:变量只能是字母、数字、下划线的组合
2:变量的第一个字符不能是数字
3:特殊关键字不能作为变量名
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import','in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
3:变量命名规范
1:变量命名时不要随意命名,最好是使用变量本身的作用来进行命名
如:age = "18"
2:多个单词时请使用 “ _ ” 下划线与单词首字母大写
如:
# 1:使用 "_" 来分割不同的单词
your_age = "18"
# //* 本人常使用这种方法 # 2: 使用每个单词都首字母大写
YourAge = "18" #驼峰体
3:首字母大写一般用来定义类名 ,全大写一般用来定义常量,(常量是不变的量)
如:
# 1: 首字母大写:用法类名
class Your_age:
pass
# 2:全部大写:用法常量
YOUR_AGE = “18”
七:计算机是如何读懂你的指令的
1. ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统。
2. 中国的字符集编码
在1980年中国人,设计了GB2312编码,收录了6763个汉字个682个字符,经过多年收录,在2000年GB18030 收录了27484个汉字,还包含了众多少数民族的文字,成为国家标准字符集编码
3. 万国码
由于每个国家都在编辑自己过加的字符集编码,而且编码格式五花八门,所以就出现了一种包含了众多字符与文字的编码,Unicode(万国码,统一吗),
每个字符站16个bit位,4个字节加大了硬盘的存储数据,所以对 Unicode 进行了压缩,优化。变成了现在大对数人在使用的UTF-8。他不在统一需要4个字节进行存储,在 ascii码 中的字符只占一个字节,其他的字符根据不同的文字进行字符的添加。
八:注释
1. 注释一行:# 被注释内容
2. 注释多行:""" 被注释内容 """
九:数据类型
1. 数字:
在变量中,不加引号的为数字,加引号的为字符
2. 布尔值
真:True :用 1 表示
假:False ;用 0 表示
判断条件状态时;只可能回复布尔值
如:
>> 5 + 7 > 12
True >> 5 + 7 > 22
False
3. 字符串:
- 移除空白和特殊符号
>>> age = "18 23 \n"
>>> age.strip()
'18 23' # //* 取消开头与结尾的空格和tab键、与\n 拼接
>>> a1 = "abc"
>>> a2 = "def"
>>> a1+a2 # 变量之间,使用 “ + ” 来进行拼接
'abcdef'取字符个数 (字符长度)
name = "abc def"
>>> len(name)
>>> 7取索引
>>> name = "123456"
>>> name[3] #输入你想取字符的索引值(就是字符所在位置)。
'4'
//* 默认从第0个开始分割(切片)(只能从左向右数)(顾头不顾尾)
>>> name = "123abcdef"
>>> name[3]
'a' >>> name[0]
'1' >>> name[0:3]
'123' # //* 切片时,如果切多个字符,最后一个不会显示(顾头不顾尾)默认从第0个开始 # //* 字符串是不能修改的,只能重新赋值:格式化输出
# 1: 单行显示
>>> name = "123"
>>> name2 = "my name is %s"%name >>> print(name2)
my name is 123
# 2: 多行显示
name = "abc"
name2 = 123
name3 = 22
name4 = "abc\n\t123" abc = '''
name : %s
name2 : %d
name3 : %f
name4 : %r
name5 : %s
'''%(name,name2,name3,name4,name4)
print(abc) # 结果 name : abc
name2 : 123
name3 : 22.000000
name4 : 'abc\n\t123'
name5 : abc
123 # 3: 占位符总结如下位
%s : 输入字符串
%d : 只能输出数字,否则会报错
%f : 显示浮点数
%r : 按原格式输出字符串其他用法
print(name.capitalize()),首字母大写
print(name.casefold()),全变小写 print(name.center(10,'-')),凑足10个字符不够的按照 “-” 表示,如果不写默认以空格分割,字符串居中。
print(name.encodswith()),打印真或假
print(name.expandtabs)),加大字符串的空间
print(name.find("lib")),找寻值,找到早了回复值,找不到回复 -1
print(name.format()),与%s类似(照了相片看相片)
print(name.isdigit()),判断是否是一个数字 ============================
print("ad".isalpha()),只包含字母的,回复 真
print("a2d".isalnum()),只包含字母和数组的组合,回复真
print("2".isdecimal) ,值中有小数则返回 true age = "22"
print(age.isdecimal()) print("2".isdigit()),只包含整正数
print("al_ex".isdentifier()) # 是不是合法的变量名
print("al_ex".isupper())
print("2".islower())
print("2".isumeric())
print(float("3.1"),判断是否是浮点数,不是就报错
print("3.1".isspase()),判断是否是空格
print(",".join("alex")), 结果: a,l,e,x //*判断决定分割 print("alex".ljust(50,'-')),从左开始显示字符串,不足的用 “ - ”,
print("alex".rjust(50,'-')),从右开始显示字符串,不足的用 “ - ”,
=================== print("alex".translate(trantab)), print("alex".partition("1")), print("alex".replace("ex","123")), 结果:al123 //* 替换字符
- 移除空白和特殊符号
十 :运算
- 与、或、非
a = 60 #0 0 1 1 1 1 0 0
b = 13 #0 0 0 0 1 1 0 1 # 1:与运算,两个数字的二进制值,必须全为 1 ,则结果才为1 a & b = 0 0 0 0 1 1 0 0 = 12 # 2:或运算,两个数字的二进制值,只要有一个为1 ,则结果为1 a / b = 0 0 1 1 1 1 0 1 = 49 # 3: 异或运算,两个数字的二进制值,上下对比不同则为1 a ^ b = 0 0 1 1 0 0 0 1 = 49 - 余数:可以用来判断奇偶数如下
>>> 5%2
1 >>> 6%2
0 # //* 余 1 的话就证明是奇数,整除就证明是偶数 特殊运算符
//* 在Python中 有时会用到计数器,计数器就会用到以上的算法
逻辑运算
成员运算
# (1): “in” 判断序列中是否有要搜索的值,有的话返回 True 没有返回 False
>>> age
[1, 2, 3, 4, 5, 6, 7, 8, 9] >>> 8 in age
True >>> 18 in age
False # (2): “not in” 判断序列中是否有要搜索的值,有的话返回 False没有返回True >>> age
[1, 2, 3, 4, 5, 6, 7, 8, 9] >>> 8 not in age
False >>> 18 not in age
True身份运算
# 1:判断数据类型 >>> type(8)
<class 'int'> >>> type("a")
<class 'str'> # //* 几种数据类型 int 数字类型,str 字符串,list 列表 # 2:判断字符类型,是的话返回 True不是返回False
>>> type(8) is int
True >>> type("abc") is str
True >>> type([1,2,3]) is list
True # 3:判断字符类型,是的话返回 False不是返回True >>> type(8) is not int
False >>> type("abc") is not str
False
十一:用户交互
- 用户输入
>>> name = input("what is your name : ")
what is your name : abc >>> print(name)
abc - 输入输入用户名密码,并且格式化输出
十二:流程控制
if 流程控制,是可以判断条件,正确则输出 A,错误则输出 B,可以根据不同的输出条件进行不同操作
判断用户输入的是否正确,正确打印正确,错误打印错误
判断 年龄大小 ,>、<、= 显示不同结果
十三:for 循环
- 循环的主要目的是,为了减少重复代码
如例一:循环代码4次
age = 'abc123' for i in range(4):
print("循环:", i ) # 结果 循环: 0
循环: 1
循环: 2
循环: 3
例二:循环十次,只显示后6次
for i in range(10):
if i<5:
continue #不往下走了,直接进入下一次loop
print("loop:", i ) # 结果 loop: 5
loop: 6
loop: 7
loop: 8
loop: 9
十四:while 循环
- 死循环,会一直循环
count = 0 while True:
print("开始啦...",count)
count +=1 - while 限制次数循环,猜年龄:
age = 18
count = 0
while count < 3:
input_age = int(input("输入您的年龄:"))
if input_age == age:
print("猜对了!")
break
elif input_age < age:
print("猜小了")
else:
print("猜大了!")
count += 1 # 每次loop 计数器+1
else:
print("猜错3次了,退出.")
十五:三元运算
就是将 多行打印的条件显示成一行:
# 例一: a = 1
b = 2 if a > b:
c = a+b
else:
c = a-b
# 这么多的代码看起来是不是很烦啊,你也可以缩减为一行 c = a+b if a>b else a-b # 结果一样哟 # 格式为: # result = 值1 if 条件 else 值2
# 如果条件为真:result = 值1
# 如果条件为假:result = 值2
Python开发(一):Python介绍与基础知识的更多相关文章
- Android音频开发(1):基础知识
Android音频开发(1):基础知识 导读 人的说话频率基本上为300Hz~3400Hz,但是人耳朵听觉频率基本上为20Hz~20000Hz. 对于人类的语音信号而言,实际处理一般经过以下步骤: 人 ...
- Python学习系列(二)(基础知识)
Python基础语法 Python学习系列(一)(基础入门) 对于任何一门语言的学习,学语法是最枯燥无味的,但又不得不学,基础概念较繁琐,本文将不多涉及概念解释,用例子进行相关解析,适当与C语言对比, ...
- Python入门方法推荐,哪些基础知识必学?
很多想入门的小伙伴还不知道Python应该怎么学,哪些知识必学,今天我们就来盘点一下. 01.入门方法推荐 总体来讲,找一本靠谱的书,由浅入深,边看边练. 网上的学习教程有很多,多到不知道如何选择.所 ...
- python核心编程学习记录之基础知识
虽然对python的基础知识有所了解,但是为了更深入的学习,要对python的各种经典书籍进行学习 第一章介绍python的优缺点,略过 第二章介绍python起步,第三章介绍python基础,仅记录 ...
- Python爬虫(1):基础知识
爬虫基础知识 一.什么是爬虫? 向网站发起请求,获取资源后分析并提取有用数据的程序. 二.爬虫的基本流程 1.发起请求 2.获取内容 3.解析内容 4.保存数据 三.Request和Response ...
- Python开发GUI工具介绍,实战:将图片转化为素描画!【华为云技术分享】
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...
- Python开发GUI工具介绍,实战:将图片转化为素描画!
欢迎添加华为云小助手微信(微信号:HWCloud002 或 HWCloud003),输入关键字"加群",加入华为云线上技术讨论群:输入关键字"最新活动",获取华 ...
- Python开发【第一篇】基础题目二
1 列表题 l1 = [11, 22, 33] l2 = [22, 33, 44] # a. 获取l1 中有,l2中没有的元素 for i in l1: if i not in l2: # b. 获取 ...
- Python开发【Django】:基础
Django基本配置 Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Se ...
随机推荐
- 洛谷-P5357-【模板】AC自动机(二次加强版)
题目传送门 -------------------------------------- 过年在家无聊补一下这周做的几道AC自动机的模板题 sol:AC自动机,还是要解决跳fail边产生的重复访问,但 ...
- sin之舞---蓝桥杯练习
问题描述 最近FJ为他的奶牛们开设了数学分析课,FJ知道若要学好这门课,必须有一个好的三角函数基本功.所以他准备和奶牛们做一个“Sine之舞”的游戏,寓教于乐,提高奶牛们的计算能力. 不妨设 An=s ...
- 分享几个4412开发板新录制的视频,不是VIP也能看
如果能点个赞就更好啦 iTOP4412开发板介绍https://www.bilibili.com/video/av74453392 iTOP4412开发板系统编程前言https://www.bilib ...
- An internal error occurred during: "Redeploy".
原因:项目中JDK使用的版本与现在使用的JDK版本不同所致. 解决方法:右键选择项目>properties>java Build Path>Libraries 查看下面的JRE Sy ...
- 通过 WMI 返回硬盘序列号的一点小问题
通过 SELECT * FROM Win32_PhysicalMedia 可以返回硬盘序列号,但是在实际使用中某些情况下(原因未知)返回的 SerialNumber 是实际硬盘序列号的字符串按字符Ur ...
- ArcGIS自定义坐标变换中的方法说明
在10.1里面,一共提供了12种转换的方法,如下: Ø Geocentric_Translation Ø Molodensky Ø Molodensky_Abridged Ø Position ...
- TreeMap简介
在Map集合框架中,除了HashMap以外,TreeMap也是常用到的集合对象之一.与HashMap相比,TreeMap是一个能比较元素大小的Map集合,会对传入的key进行了大小排序.其中,可以使用 ...
- [洛谷P3806] [模板] 点分治1
洛谷 P3806 传送门 这个点分治都不用减掉子树里的了,直接搞就行了. 注意第63行 if(qu[k]>=buf[j]) 不能不写,也不能写成>. 因为这个WA了半天...... 如果m ...
- Pycharm 2019 破解激活方法
转载:https://blog.csdn.net/guofang110/article/details/87793264 使用破解补丁方法虽然麻烦,但是可用激活到2099年,基本上是永久激活了,毕竟在 ...
- <JZOJ1329>旅行
贪心大水题 #include<cstdio> #include<iostream> #include<cstring> #include<algorithm& ...