1,什么是计算机:
CPU:大脑 3GHZ
内存:缓冲硬盘和CPU
硬盘:保存数据 70MB/s
读写的内容都是0101代码
2.编程语言简单分类:
最早的是机器语言
汇编语言
高级语言:c语言,python,java,c++,c#,object
一,python介绍
python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹 打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承
1.1 python是一门什么样的语言:解释型
编译器:将源程序一次性编译成机器语言并保存
解释器:将源程序逐一解释成机器语言执行
1.2 编译型 ,解释型的优缺点
编译型:
优点:对语言的执行效率高,可以脱离语言环境独立运行
缺点:编译后如果更改需要整个模块重新编译,需要根据运行的操作系统编译不同的可执行文件
解释型:
优点:具有兼容性,安装解释器(虚拟机)后可以在任何环境中运行,比较灵活,可直接修改代码,部署快
缺点:速度慢,每次运行都需要解释一遍
1.3 python的优缺点
优点:
1.简单,优雅,明确
2.开发速度快,效率高
3.是一门高级语言-----无需考虑诸如如何管理你的程序使用的内存一类的底层 细节
4.可移植性-----经过改动使它能够工 作在不同平台 上
5.可扩展性----如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用 C或C++编写,然后在你的Python程序中使用它们
6.可嵌入性----—你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。
缺点:
1.开发速度慢(肉眼无法直接感受到)
2.代码不能加密
3. 线程不能利用多CPU问题,这是Python被人诟病最多的一个缺点,GIL即全局解释器锁(Global Interpreter Lock),是计算机程序设计语言解释器用于同步线程的工具,使得任何时刻仅有一个线程在执行,Python的线 程是操作系统的原生线程。在Linux上为pthread,在Windows上为Win thread,完全由操作系统调度线程的 执行。一个python解释器进程内有一条主线程,以及多条用户程序的执行线程。即使在多核CPU平台上,由于 GIL的存在,所以禁止多线程的并行执行。关于这个问题的折衷解决方法,我们在以后线程和进程章节里再进行 详细探讨。
1.4 python解释器:
CPython , IPpython , PyPy ,Jython ,IronPython
二, 第一个python程序
(1)在命令行中编写python代码
(2)把程序写在.py文件中
注意: python2中的中文编码会有问题. Python2使用的是ASCII码编码. 处理不了中文. 我们需要替换成utf-8编码. # -*- encoding:utf-8 -*-
三,注释
# :单行注释
''' dwjdbj'''或者"""djej""":三个单引号或者三个双引号为多行注释
四,变量
变量:将运算的中间结果暂存到内存,以便后续程序调用
变量的命名规则:
1.变量由字母,数字,下划线搭配组合而成
2.不可以用数字开头,也不能全是数字
3.不能是python的关键字,这些符号和字母已经被python占用,不可以更改
4.不要用中文
5.名字要有意义
6.不要太长
推荐使用:
1.驼峰体:除首字母外的其他每个单词的首字母大写
2.下划线:每个单词之间用下划线分开
五,常量
在python中不存在绝对的常量,约定俗成,所有字母大写就是常量
六,python的基本数据类型
1. 整数(int)
常见的数字都是int类型,用于计算或者大小比较
在32位机器上int的范围是: -2**31~2**31-1,即-2147483648~2147483647
在64位机器上int的范围是: -2**63~2**63-1,-9223372036854775808~9223372036854775807
2.字符串(str)
在python中,凡是用引号引起来的,全是字符串(字符串可以用单引号,双引号,或者三引号引起来)
msg = "My name is Alex , I'm 22 years old!" 这个就需要单双引号配合
msg = """
今天我想写首小诗
歌颂我的同桌
你看他那乌黑的短发
好像一只炸毛鸡。
"""
想多行赋值一个字符串,就需要三引号
**数字类型有+-*%,字符串只有+*
字符串的拼接:两个字符串相加
s1 = 'a' s2 = 'bc' print(s1 + s2) #运行结果为"abc"
相乘 str*int
name = "梁慧" print(name*4) #结果为:梁慧梁慧梁慧梁慧
字符串转化为int int(字符串),不能出现非数字
a = input("请输入a:") b = input("请输入b:") c = int(a) d = int(b) print(c+d)
3.布尔值 (bool)
真或假:True和False
七,用户交互
input
语法:
内容 = input(提示信息)
可以直接获取到用户输入信息
name = input("请输入你的名字:") #程序会停在这里等待用户输入
八,控制流程if语句
第一种语法:
if 条件: #引号是将条件与结果分开。
结果1。 # 四个空格,或者一个tab键,这个是告诉程序满足这个条件的 结果2。 如果条件是真(True) 执行结果1, 然后结果2, 如果条件假(False) 直接结果2
第二种语法:
If 条件:
结果1
else:
结果2
代码3
money = 5000 if money > 3000: print("打车回家") else: print("回家喝水")
第三种语法:
If 条件1:
结果1
elif 条件2:
结果2 ..
else: 结果n
money = 5000 if money > 3000: print("打车回家") elif moner >2000: print("喝喝小酒") else: print("回家喝水")
第四种语法(嵌套):
If 条件1:
结果1
If 条件2:
结果2
else:
结果3
else:
结果4
sex = input("请问你是男的还是女的?") age = input("你多大了?") if sex == '女': if int(age) < 20: print("开门,怎么了?") else: print("不开") print("唉呀妈呀") else: print("再见,家里没人")
九,while循环
while True: 死循环
语法:
while 条件:
结果
#如果条件是真,则直接执行结果,然后再次判断条件,直到条件是假,停止循环
flag = True count = 1 while flag: print("你愁啥") print("瞅你咋地") count = count + 1 if count == 6: flag = False print("吃饭")
#1+2+3+4+5+......+100=?
i = 1 sum = 0 while i <101: sum = sum + i i = i + 1 print(sum)
十. 流程控制-break和continue
1, break: 立刻跳出循环. 打断的意思
2, continue: 停止本次循环, 继续执行下一次循环