第一编程语言的分类:
1.机器语言 二进制编程 直接操作硬件 优点:执行速度快 缺点:开发效率低 面向机器编程
2.汇编语言 英文标签代替一串特定的二进制,直接操作硬件 缺点开发效率低 面向机器编程
3.高级语言 站在人的角度编程,机器无法理解,需要翻译
第二语言的分类编译型和解释型语言:
编译型:一次性得到所有结果,拿到翻译的结果执行
gcc 把C语言编译为二进制.调试麻烦
解释型(python):一边解释一边执行.
第四变量:
如何定义变量: name="egon" 变量的定义
下划线: age_of_oldboy 常用下划线定义变量
变量的定义规范
#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']
驼峰式: python不提倡
变量的三个要素 value id 内存的id 和 类型type
print(x)
print(id(x))
print(type(x)) egon
48235168
<class 'str'>
第五 常量 大写
python中没有常量概念. 大写但是可以修改.
六 执行过程(重点)
1.先启动python3.exe
2.把c:\test.py从硬盘读入内存
3.解释执行文件内容(识别python内容)
七: 数据的引用计数为零,被垃圾回收 没有被引用被回收 .
通常是程序执行完或者变量重新赋值原来的被丢弃
八:字符串之间只有相加和相乘运算 相加效率低,三个内存空间申请.
print("====="+"----") print("@"*30)
第九:强调:python解释器执行程序是解释执行,即打开文件读内容,因此文件的后缀名没有硬性限制,但通常定义为.py结尾
文件头
#!/usr/bin/env python
#! -*- coding: utf-8 -*-
第九基本数据类型
init 整形
age=10
float 浮点型
salary=100.3
字符串:
name='egon'
#多引号什么作用呢?作用就是多行字符串必须用多引号
msg='''
111
222
333
'''
字符串拼接
>>> name='egon'
>>> age='18'
>>> name+age #相加其实就是简单拼接
'egon18'
>>> name*5
'egonegonegonegonegon'
#注意1:字符串相加的效率不高
字符串1+字符串3,并不会在字符串1的基础上加字符串2,而是申请一个全新的内存空间存入字符串1和字符串3,相当字符串1与字符串3的空间被复制了一次, #注意2:只能字符串加字符串,不能字符串加其他类型 列表用逗号分隔,可以存放任意类型的值. students=[aa,bb,cc] students[0] #获取第一个值
students[0]="fdhj" #给第一个列表赋值 多个列表
#存放多个学生的信息:姓名,年龄,爱好
>>> students_info=[['egon',18,['play',]],['alex',18,['play','sleep']]]
>>> students_info[0][2][0] #取出第一个学生的第一个爱好
'play' students=[[egon,18],tt,yy] 字典 info1={'name':'egon','age':18}
info1={'name':'egon','age':18}
print(info1['name'])
print(info1['age']) 字典嵌套字典:
info={ 'name':'egon', 'hobby':['mv','sleep'], 'company_info':{ 'name':'oldboy', 'type':'edu' } }
print(info['name'])
print(info['hobby'][0]) print(info['hobby'][1]) print(info['company_info']['name'])
print(info['company_info']['type']) 布尔值 重点 布尔值一个是True 一个是False #所以数据类型自带布尔值
1.None,0,空 空字符串 空列表 空字典 上面情况下布尔值为False 2.其余值为真 重点: 1.可变类型:在id不变的情况下,value可以变称为可变类型,如列表 字典 2.不可变类型:value一档改编,id也更着改变,则称为不可变类型. id变了意味着创建了新的内存空间. 第十 格式化输出:
print('my name is %s age is %s' %('egon',18) )
十一基本运算符 1.算数运算符
+ - * / % ** 幂等 几次方 // 取整数
2.比较运算符
== != > < >= <=
3.赋值运算符号
= += -= %= c%=a c=c%a **= c**=a c=c**a //= c//=a c=//a
4.逻辑运算符号 and or not >>> True or Flase and False
True
>>> (True or Flase) and False
False 写这种逻辑运算括号括起来逻辑才清晰 身份运算: 重要
is 比较的是id == 比较的是值 ,id是内存转换成的一个数字. 十二 流程控制之 if .. else
score=input('shu ru score:')
if score >=90
print('优秀')
elif score >= 80;
print('良好')
elif score >=70
print('普通')
else
print('很差') if 从上往下执行,上面的内容过滤了下面的上线内容 while 循环: while count <= 10:
print(count)
count+=1 count=0
while count <= 10:
if count%2 ==1:
print(count)
count+=1 死循环 import time num=0 while True:
print('count',num)
time.sleep(1)
num+=1 4.嵌套循环和tag tag=True while tag: while tag:
while tag: if aa > xxx
tag=False continue 跳出当次循环 break 跳出当层循环 如果层数较多跳出整个循环需要数一下当前的循环有多少层,多少个循环对应多少个break 用tag标签标示True,最后修改tag值跳出整个循环方便. while else 表示while 正常执行,中间没有被break终止的话,就会执行else后面的语句. count = 0
while count <= 5 :
count += 1
print("Loop",count) else:
print("循环正常执行完啦")
print("-----out of while loop ------")
输出
Loop 1
.......
Loop 6 十四:for循环 1.迭代式循环 for for i in range(10):
print(i)
=======================================
第一周复习
1.安装python解释器 不是一定py结尾
启动python解释器 把文件读入neicun 解释执行
2.变量
age=18
变量三个texing
id:id(age)
value:age
type type(age)
强调:id不同 value值可以相同
3.数据类型
整形 int
浮点 float
字符串str
列表list
字典dict
4.用户与程序交互
input把任何类型的数据存为字符串
2的raw_input 和P3的一样 2的input必须输入一个明确的数字类型 输入 222 字符串要引起来'222' '333'
[1,2]
[3.4]
5.格式化输出
%s:接收字符串和整形 %d:只能机手整形
6.基本运算符 算数运算符 字符串可以加和乘运算 + *
列表也可以加和乘 + *
比较运算符
逻辑运算符
and or not 取反
赋值运算
x+=1
x=y=z 链式赋值
n,m=m,n 交叉赋值
a,b,c=[1,2,3]
身份运算符
is is not
7.if 判断
if 条件1:
elif 条件2:
else:
while 条件:
pass
while +break
while+continue
跳出本次循环
1.数据类型与内置方法
2.字符编码
3.文件处理