文章目录

  • 1、编程语言的分类
    • 1.1、机器语言:直接用二进制指令编写程序
    • 1.2、汇编语言:用英文标签取代二进制指令编写程序
    • 1.3、高级语言:用人类能够表达的方式去编写程序,计算机无法直接理解,需要经过翻译才能被计算机理解、运行
  • 2、解释器的安装
  • 3、运行python程序的两种方式
  • 4、运行python程序的三个步骤
  • 5、变量
    • 5.1、什么是变量?
    • 5.2、为何要用变量?
    • 5.3、如何使用变量?
    • 5.4、图示
    • 5.5、逻辑错误不可避免,应该尽量规避, 语法错误不能忍
    • 5.6、变量的三大组成部分
    • 5.7、变量的命名规则
    • 5.8、变量名的命名原则:变量名应该见名知意
    • 5.9、变量名的命名风格:变量名推荐纯小写加下划线
    • 5.10、变量值有三大特征
    • 5.11、小整数池
    • 5.12、常量:不变的量
  • 6、输入与输出(input)
  • 7、格式化字符串
  • 8、基本运算符
  • 9、隐式布尔值
  • 10、拓展小知识
  • 11、可变与不可变类型
  • 12、运算符详细
    • 12.1、增量赋值
    • 12.2、链式赋值
    • 12.3、交叉赋值
    • 12.4、解压赋值
    • 12.5、身份运算is与==

1、编程语言的分类

1.1、机器语言:直接用二进制指令编写程序
优点:执行速度快,相当于计算机的母语跟计算机交互
缺点:1.  编写程序太复杂,实现一个简单功能都需要很多步才能完成2.  二进制指令太难记忆
1.2、汇编语言:用英文标签取代二进制指令编写程序
优点:1、运行效率高,但肯定是低于机器语言2、解决了机器语言二进制指令难记的问题缺点:开发效率仍然比较低
1.3、高级语言:用人类能够表达的方式去编写程序,计算机无法直接理解,需要经过翻译才能被计算机理解、运行

按照翻译的方式不同,划分为:

编译型:(C语言,go):翻译一次得到可执行的结果,下次直接拿着现成的结果运行就好,不需要再用编译器翻译了
翻译工具:编译器

解释型:(python,shell):每次执行程序都离不开解释器的翻译
翻译工具:解释器

按照运行效率和开发效率比较:

运行效率:机器语言 > 汇编语言 > 高级语言(编译型 > 解释型)
开发效率:机器语言 < 汇编语言 < 高级语言

2、解释器的安装

在python官网下载对应解释器(windows、mac、linux)即可:https://www.python.org/

mac版本卸载python:第 1 步,删除框架:sudo rm -rf /Library/Frameworks/Python.framework/Versions/x.x第 2步,删除应用目录:sudo rm -rf "/Applications/Python x.x"第 3 步,删除指向 Python 的连接:cd /usr/local/bin/ls -l /usr/local/bin | grep '../Library/Frameworks/Python.framework/Versions/x.x' | awk '{print $9}' | tr -d @ |xargs rm第 4 步:清理环境变量~/.bash_profile/etc/profile

3、运行python程序的两种方式

交互式环境:直接在命令行中,输入代码立即获得结果
用途:用于调试程序
脚本的方式:python3 xxx.py文件的路径
特点:永久保存代码

ps: python解释器不是通过python文件的后缀名区分,后缀名可以是任何,但是按照规定,以.py结尾(见名知意)

4、运行python程序的三个步骤

1、先启动python解释器
2、python解释器就相当于一个文本编辑器将xxx.py中的文件的内容从硬盘读入内存
3、解释器解释执行刚刚读入内存的xxx.py文件的内容,开始识别python语法

5、变量

5.1、什么是变量?
量是指记忆下事物的状态
变指的是事物的状态是可以发生变化的
5.2、为何要用变量?
变量是为了控制计算机能够像人类一样去记忆下事物的状态,并且记录的状态是可以发生改变的
变量其实是一种控制计算机把数据存起来的机制,存储到内存中
程序 = 数据 + 逻辑
5.3、如何使用变量?
原则: 先定义,后引用
name = 'allen'
print(name)xxx  # 没有语法错误,有逻辑错误
变量名在等号左边,代表的是赋值操作
变量名只要不在等号左边,代表的是取值操作
5.4、图示

5.5、逻辑错误不可避免,应该尽量规避, 语法错误不能忍
5.6、变量的三大组成部分

(1)变量名:相当于门牌号,用来访问/引用值
(2)赋值符号“=”:是把变量值的内存地址绑定给变量名
(3)变量值:就是我们记录的状态,也就是程序中的数据

5.7、变量的命名规则
大前提: 变量名的命名应该见名知意,在见名知意的前提下尽可能短
(1)变量名只能是 字母、数字或下划线的任意组合
(2)变量名的第一个字符不能是数字
(3)不用使用关键字python关键字:['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']
5.8、变量名的命名原则:变量名应该见名知意
name = 'allen'
print(name)
5.9、变量名的命名风格:变量名推荐纯小写加下划线
(1)驼峰体AgeOfAllen=18
(2)纯小写加下划线age_of_allen=18
5.10、变量值有三大特征
1、id号,又称之为身份,id反映的是内存地址,id相同内存地址则相同
ps: id不同,代表内存空间不同,但是不同的内存空间中可以存放相同的值
2、type,查看变量值的类型
3、值本身补充:
1)is判断的是id是否相等
x = 111
y = 222
print(x is y)
x = 111
y = x
print(x is y)2)==判断的是值是否相等
name1 = 'hello'
name2 = 'hello'
print(name1 == name2)
强调1:id如果相等,值一定相等
强调2:id如果不相等,值有可能相等
5.11、小整数池
python解释器做的优化,【-5 —— 256】之间的数据id相同:
>>> x=257
>>> y=257
>>> id(x)
4494198128
>>> id(y)
4494198192
>>>
>>> m=256
>>> n=256
>>> id(m)
4490930816
>>> id(n)
4490930816pycharm也给我们针对数字类型做了优化:
x=25712312312312312312
y=25712312312312312312
print(id(x),id(y))  # 相等关于True、False、None的判断
x is True/False/None(推荐)
x == 15(推荐)
x = 111
print(type(x) is int)(推荐)
5.12、常量:不变的量
# 注意:python语法中没有常量的概念,但是在程序的开发过程中会涉及到常量的概念
AGE_OF_ALLEN = 73  # 小写字母全为大写代表常量,这只是一种约定、规范
print(AGE_OF_ALLEN)

6、输入与输出(input)

python3中input功能会把用户输入的任意内容都存成字符串类型

接收用户的输入
inp_name=input("请输入您的账号名>>>: ")
print(inp_name,type(inp_name))# 注意1:inp_age=input("请输入您的年龄>>>: ") # "18"inp_age=int(inp_age) # int会把纯数字的字符串转换成int型print(inp_age+1) # "18"+1# 注意2:inp_pwd=input("请输入您的密码>>>: ")  # "123"print(inp_pwd == 123) # "123" == 123print(inp_pwd == "123") # "123" == "123"# 注意3:无论输啥,都存成字符串x=input(">>>: ") # "[1,2,3]"print(x,type(x))ps:python2中raw_input功能与python3中的input功能一模一样
python2中input功能,输入什么数据类型就获取什么数据类型,如果输入的数据类型有误就报错

7、格式化字符串

print("my name is %s" % "allen")
print("my name is %s my age is %s" % ("allen", 18))
print("my name is %s my age is %s" % ("allen", [1,2,3]))

8、基本运算符

1、算数运算符
# 算数运算符通常用于数字类型之间进行,但是+号和*比较特殊
# +和*可以用于其他类,但是仅限于同种类型直之间进行
print(10 / 3)
print(10 // 3)
print(10 % 3) # 取余数,取模
print(10 ** 2)# 特殊:+ *
l1 = [1,2,3]
l2 = [4,5,6]
print(l1 + l2)
print(l1 * 3)2、比较运算符
# 比较运算符通常用于数字之间进行
print(10 == 10)
print(10 == "10")
print(10 != "10") # True# 字符串之间也可以比较
print("abz" > "abcdef") # Truel1=[1,'abc',18]
l2=["a",'abc',18]
l1 > l2 # 报错,对应位置的值必须是同种类型才可以l1=[1,'abc',18,111,222,333]
l2=[2,'abc',18]
print(l2 > l1)3、赋值运算符
age = 18
age += 1  # age = age + 1
print(age)age *= 100 # age = age * 100
print(age)4、逻辑运算符 not and or
not: 把布尔值结果取反
and:用来链接左右两个条件:左右两个条件同时为True,最终结果才为True
or:用来链接左右两个条件:左右两个条件但凡有一个结果为True,最终结果就为True
短路行为=》偷懒行为# 10 < 3 and 1 == 1# False or 1 == 1# True or 1 == 1
优先级:not > and > or推荐用()区分优先级res = 31 < 4 and not 4 > 31 or not 1 == 3 and 'x' != 'x' or 3 == 6
print(res)  # False
# 可以转变如下:
res = (31 < 4 and (not 4 > 31)) or ((not 1 == 3) and 'x' != 'x') or 3 == 6res = 10 < False or not 10 > 3 or not 10 < 8 and 5 == 5
print(res)  # True
# 可以转变如下:
res = 10 < False or (not 10 > 3) or ((not 10 < 8) and 5 == 5)

9、隐式布尔值

隐式的布尔值为False的数据类型有:0,None,空
print(bool(0))
print(bool(None))
print(bool(""))
print(bool([]))
print(bool({}))

10、拓展小知识

算到哪个位置结束就把那个位置的值当做结果返回,遵循not、and、 or三者的优先级
print(1 or 3)  # 1
print(1 and 3)  # 3
print(0 and 2 and 1)  # 0
print(0 and 2 or 1 or 4)  # 1
print(0 or False and 1)  # False

11、可变与不可变类型

  • 可变类型:list,dict
    在值改变的情况下,id号不变,也就是说内存地址不变,证明就是在改原来内存空间中的值,即原值可变
列表(list)
l = [1, 2, 3]
print(id(l))  # 1598252841856
l[0] = 4
print(id(l))  # 1598252841856字典(dict)
d = {'k1': 123, 'k2': 234}
print(id(d))  # 1598254043392
d['k1'] = 233
print(id(d))  # 1598254043392注意: 字典的value可以是任意类型,但是字典的key必须是不可变类型
dic = {1111111:"abc","k2":"def",3.1:'aaa'}
print(dic[1111111])  # abc# 不可哈希类型就是可变类型,可哈希类型就是不可变类型
dic={[1,2,3]:"abc"}
# 如果这样将字典的key定义为可变类型,会报错,报错信息为: TypeError: unhashable type: 'list'
  • 不可变类型:int、float、str
    在值改变的情况下,id号也跟着变了,也就是说内存地址变了,证明不是在改原来内存空间中的值,而是申请了新的内存空间,产生了新的值,即原值不可变
整型(int):
i = 10
print(id(i))  # 140722368530368
i = 15
print(id(i))  # 140722368530528浮点型(float)
f = 10.5
print(id(f))  # 2108302321680
f = 15.5
print(id(f))  # 2108301206448字符串(str)
s = 'aaa'
print(id(s))  # 2108302223280
s = 'bbb'
print(id(s))  # 2108302219184

12、运算符详细

12.1、增量赋值
age=18
age += 1
print(age)
12.2、链式赋值
z = y = x = 10
# 以上代码等价于:
x = 10
y = x
z = y
12.3、交叉赋值
m = 123
n = 234
m, n = n, m
# 以上代码等价于:
temp = m
m = n
n = temp
12.4、解压赋值
hobby = ['read', 'study', 'music', 'running']
a, b, c, d = hobby
# 以上代码等价于:
a = hobby[0]
b = hobby[1]
c = hobby[2]
d = hobby[3]注意: 变量名的个数必须与包含的值的个数相同,多一个不行,少一个也不行如果只想取部分数据,多余数据可以用*_接收,如果我只想取hobby中第一个和第二个值,如下:
x, y, *_ = hobby  # music和running两个数据会被_保存成列表的形式
print(x, y)
print(_)# 对于字典来说解压赋值取出来的是字典的key
dic = {"k1": 111, "k2": 222}
x, y = dic
print(x, y)
print(dic[x], dic[y])# 字符串也可以解压赋值
a, b, c, d, e = 'hello'
print(a, b, c, d, e)
12.5、身份运算is与==
# ==判断的是值是否相等
x = ['a', 'b']
y = ['a', 'b']
print(x == y)# is判断的是id是否相等
print(id(x))
print(id(y))
print(x is y)结论:
is判断的结果为True,即二者的id一样,即二者内存地址一样,即二者就是一个东西,即值一定相等
如果==判断的结果为True,即二者的值一样,那么二者的内存地址可能不一样x = None
y = None
print(x == None)  # True
print(x is None)  # True
print(x is y)  # True
print((10 > 3) is True)  # True
print((10 > 3) == True)  # True
x = True
y = True
z = True
print(id(x))  # 140722368251728
print(id(y))  # 140722368251728
print(id(z))  # 140722368251728结论:如果判断一个变量是否等于None、True、False,推荐使用is去判断

python之简介及入门相关推荐

  1. 《python透明人士,他是凭什么成为主流编程的宠儿?!》Python基础简介及入门配置

    工作将近两年了,做过B/S结构的项目,也做过android,也做过C/S结构的项目,相信无论是那种项目都是基于Java.学习运用Java也已经好多年了,虽然也接触过C/C++,C#,.NET之类的开发 ...

  2. python的简介和入门

    一.什么是python python是一种面向对象.解释型的计算机语言,它的特点是语法简洁.优雅.简单易学.在1989诞生,Guido(龟叔)开发.这里的python并不是蟒蛇的意思,而是龟叔非常喜欢 ...

  3. Python之路【第一篇】:Python简介和入门

    Python之路[第一篇]:Python简介和入门 Python简介 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗 ...

  4. Python自动化开发【1】:Python简介和入门

    Python自动化开发之路 [第1篇]:Python简介和入门 编程与编程语言 一 编程与编程语言python是一门编程语言,作为学习python的开始,需要事先搞明白:编程的目的是什么?什么是编程语 ...

  5. Python编程:从入门到实践——列表简介(第三章+课后答案)

    对应书目:Python编程:从入门到实践 列表简介(第三章) 要理解新的编程概念,最佳的方法是尝试在程序中使用它们 Python通过将索引指定为-1,可以让Python返回最后一个列表元素 动手试一试 ...

  6. 《Python编程:从入门到实践》_3章:列表简介

    [汇总]:https://blog.csdn.net/wistonty11/article/details/121348048 [2章:变量和简单数据类型]:https://blog.csdn.net ...

  7. python入门到精通需要学多久-史上最详细python学习路线-从入门到精通,只需5个月时间...

    针对Python的初学者,从无到有的Python语言如何入门,主要包括了:Python的简介,如何下载Python,如何安装Python,如何使用终端.Shell,IDE等各种开发环境进行Python ...

  8. python入门只需20分钟-史上最详细python学习路线-从入门到精通,只需5个月时间...

    针对Python的初学者,从无到有的Python语言如何入门,主要包括了:Python的简介,如何下载Python,如何安装Python,如何使用终端.Shell,IDE等各种开发环境进行Python ...

  9. python人工智能-Python 人工智能应用快速入门 (一)

    工欲善其事,必先利其器.做人工智能要进行大量的科学计算,python是一门极好的语言.Python本身很普通,是所有编程语言中和自然语言或者说伪代码最像的,更为可贵的是其中一些特殊的库非常方便和强大, ...

最新文章

  1. 【LeetCode】154. Find Minimum in Rotated Sorted Array II (3 solutions)
  2. PHP7不能用string类名,thinkphp在php7环境下提示Cannot use ‘String’ as class name as it is reserved的解决方法...
  3. 【MySQL性能优化】概述与优化方面(一)
  4. opencv 轮廓层次结构
  5. 从程序员角度--解决ipad白苹果问题的最佳办法---纠正网上的错误言论
  6. 在React和Vue中支持服务器端呈现
  7. [转载] python查看的统计量_python 描述性统计_Python中的基本统计:描述性统计
  8. Openlayer:学习笔记之解析地图组成
  9. 视频目标跟踪算法Mean Shift和Particle Filter
  10. 好看的思维导图案例,你想做出来吗
  11. linux服务器恶意程序检查,扫描Linux服务器查找恶意软件和rootkit的5款工具
  12. 机器学习(6): 决策树算法 小结与实验
  13. 海贼C语言,PSV海贼无双3金手指代码 (PSVC)
  14. DevOps-SRE岗位到底是什么?
  15. 两个理想的90°电桥构成的非线性平衡电路
  16. 在编辑word时,如何查找和替换空格符呢?
  17. 数电课设数字钟设计(基于quartus)
  18. 关于大学生如何轻松找到高薪工作
  19. 京东方和TCL为争夺全球液晶面板老大位置,展开并购竞赛
  20. 亚马逊补单是怎么做的?

热门文章

  1. BZOJ 3240 [Noi2013] 矩阵游戏 题解
  2. 最新微信hook3.0二次开发C#源码介绍
  3. Brainfuck语言入门
  4. 浅谈零知识证明之二:简短无交互证明(SNARK)
  5. 效率UP!机器学习从废品中分拣可回收材料;计算机科学自学计划▪中译版;Python入门指南;好用的代码自动补全工具;前沿论文 | ShowMeAI资讯日报
  6. 关于ORACLE (AMERICAN_AMERICA.US7ASCII)字符集
  7. 百度地图API的两种加载方式
  8. 【大咖说|中国工程院院士江亿】:有序充电桩系统可破解电动车充电难题
  9. android手表微信运动,oppo智能手表微信运动如何安装
  10. SX1278、SX1276、SX1262的简单详解