一、前言
二 Python 发展史
三、Python 官网
3.1 Python 下载
3.2 系统 32bit和64bit区别【so 直接选择64】
3.3 python 2 vs 3 比较
四、Python Hello.world
4.1 写至内存代码
4.2 写至硬盘运行
4.3 对比下其它语言的hello world
4.3.1 C++
4.3.2 C
4.3.3 JAVA
4.3.4 PHP
4.3.5 RUBY
4.3.6 Go
五、Python 计算
六、Python 变量赋值
七、Python 如何释放内存
7.1 强删
7.2 改变指向
问:为什么要学习Python?
答:首先Python是使用C语言编写的,是介于C和shell之间的功能全面的语言,Python本身本身做了C的一些事情,更加便利性的开发!
问:那既然是C语言编写为什么还要学习Python?
答:
C语言本来就是跨平台的,不过是“源码级”跨平台。本来就是存在针对linux、windows的不同的编译器。所以有C语言“一次编写,到处编译”,Java是“一次编译,到处运行”的说法。
我们要做一些事情,使用C语言可能需要从头开始,自己完全实现,如果使用Python好多东西都已经写好了,直接调用即可,开发效率比较高
【由上面信息可知,Python89年诞生1999年才支持网站开发,2000开始那时候的Python和现在的Python就长的差不多了,2.4版本的Python相当于windows XP 是Python的经典版本,2004年Python下最流行的前端框架是Django。
x.0表示的是版本的重大变更
2.6版本 2008.10.1
3.0版本 2008.12.3
2.7版本 2010.7.3
问:为什么会这样呢?
答:Python的2.6版本官方发生了重大变更,2.x版本已经开发了很多年了,我们知道开发一种语言是整个社区在开发,这就避免不了重复写、违反Python的设计结构【简单、明了】类似代码的出现,Python的创始人开始清理2.x代码,清理过多了也就产生了版本的重大变更直接变成了3.0,所以说和之前的版本不兼容!!
如果你用2.4版本Python写的代码,是没办法运行在3.0中的,本身是为了服务而提供的语言,因为不兼容的问题,导致没有人使用这个版本的Python。
官方为了妥协就做了小改动为2.6.x,起到承上启下的作用,也就是过渡版本!2.6到2.7之间都是过渡版本,目前的主流使用的是Python2.7!!如果说主流是使用2.7,以后版本还开发个啥!!其实过渡也就用了7、8年,大家也就接受了以后会使用3.x版本。】
总结:就是一句话,如果你去的是创业型的公司那就是3.x,如果是成立了很久的公司,那就是2.7,遇到这个问题怎么办呢?
有人说改他代码!
不好意思,你被开除了!!!
2.7和3.0语言的内部变化很大,但是对于我们开发人员 来说其实区别并不大,就像你会使用windows10,windows XP你也会使用一样!
值得注意的是:
2014年11月,宣布在2020年之前将支持python 2.7,并重申不会有2.8版本,因为预计用户将尽快迁移到python 3.4+。
本章讲的是3.0版本的Python学习,我们学习的是趋势,学习过时的不太适合的!
download:https://www.python.org/downloads/
下载图例
32bit和64bit区别是,系统的发型版本
32bit = 内存的最大寻址空间是2**32,4GB
64bit = 2**64 但实际上支持不到这么大的内存,目前主板支持的最大内存是100多G
问:32位的系统最大支持4GB,相当于4部电影。我现在是用的电脑是8GB内存,是64位系统,有没有可能装32位系统?
答:不行!32位可用4GB,64位可用8GB,你在8GB上面装32位系统,相当于浪费了4GB内存。
白买了硬件还快不起来!!!
现在基本没人使用32位啦!
Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> print('Hello.world!')
Hello.world!
>>>
1.2.2 IDEA python代码
执行python的代码的方式有两种:1、交互器模式,dos窗口【不能永久保存,用于简单的语法测试】;2、文件保存
#include
int main(void)
{
std::cout<<"Hello world";
}
#include
int main(void)
{
printf("\nhello world!");
return 0;
}
public class HelloWorld{
// 程序的入口
public static void main(String args[]){
// 向控制台输出信息
System.out.println("Hello World!");
}
}
puts "Hello world."
package main
import "fmt"
func main(){
fmt.Printf("Hello World!\n God Bless You!");
}
x = 3
y = 4
z = x * y
print("result:", z)
name = "Alex Li"
name2 = name
print(name, name2)
name = "Jack"
print("What is the value of name2 now?", "answer:", name2)
name = "Alex Li"
print('a1',name)
# 指向没有问题,则输出正常
del name
print('a2:',name)
# 指向已经被删除,则error:name 'name' is not defined
# 门牌已经被删除,但是房子还在,Python的垃圾回收机制会自动清理房子
name = "Alex Li"
print('a1',name)
# 指向没有问题,则输出正常
name = 24
print('a2:',name)
# 指向已经被更换,则Alex Li到时候会自动删除
# Alex Li门牌已经被更换,原先命名为Alex Li房子已经找不到了