一.编程语言分类
机器语言:直接使用二进制指令写指令编写程序
优点:执行效率高
缺点:开发效率低
汇编语言:用英文标签去取代二进制指令
优点:执行效率高,低于机器语言
缺点:开发效率依然低
高级语言:直接用人自己的思维逻辑去编写程序,用高级语言写程序底层其实是把编写的
程序交给操作系统,由操作系统去控制硬件.无需考虑硬件细节
编译型:类似于翻译软件
优点:执行效率编译型高于解释型
缺点:开发效率低,调试困难.跨平台性差
解释型:类似于同声翻译
优点:开发效率高,跨平台性高
缺点:执行效率低
总结:由于执行效率受限于物理水平和硬件,就应该去提升开发效率
二 安装python解释器
设置环境变量:
三 运行python程序的两种方式
1.交互式环境
2.把程序写到文本文件中,永久保存下来
四.Pytharm
五.变量
注释在代码后两个空格#一个空格注释
1.什么是变量:量即记录某种现实世界中的状态,事物的某种状态是可以发生改变的
2为何要有变量:用来记录事物状态,方便以后使用
3如何用变量:
原则:先定义,后引用
变量名:申请名称空间,=即绑定,变量的值:用来记录事物状态的值,用来调用
变量名的命名:1变量名的命名对值应有描述性的作用
2只能是字母数字下划线组合,不能是数字开头
3关键字不能声明为变量名
4驼峰体或者纯小写加下划线组合
六.与用户交互
1.input('请输入您的账号:')
接收的值全部存成字符串,要赋值给变量名才有意义
2.格式化输出
name = input('姓名:') #input接收的数据可以是任意类型,存成字符串
age = input('年龄:')
print('my name is %s,my age is %s'%(name,age))
七.基本数据类型
1.数字类型 1.1 整型:int 用于标识年龄,等级,身份证,qq号,个数 1.2 浮点型:float # 浮点型可以接收整数,但是整型不能接收小数 .点 属于字符 用于标识薪资,身高,体重 2.字符串 用单引号,双引号,或者三引号标识,引号内可以是任何类型. 字符串可以相加但只是拼接的概念,也可以是字符串*数字,但依然是简单的拼接 3.列表 在[]内用逗号分隔,可以存放n个任意类型的值 students = ['egon','alex'] 用于存储多个值的情况,比如一个人有多个爱好,可以按索引取值 可以嵌套['a','b',['c','d']] 4.字典***** 用于标识:存储多个值的情况,每个值都有唯一一个对应的key,可以更有效的取值 info = {'name':'egon','age':18,'sex':'male'} 在{}内用逗号分隔开,可以存放多个key:value的值,value可以是任何类型,key是字符串 和列表相同,字典同样可以嵌套 取值方式是通过key来取对应的值 5.布尔 布尔值,一个True一个False 所有数据类型其实都自带布尔值,用于做逻辑判断 6.None类型 只有None一个,None和0,空(空字符串,空列表,空字典)的布尔值为False 其余为真
八.可变不可变类型
可变类型:在id不变的情况下,value可以变,则称为可变类型,如,列表,字典
不可变类型:value一旦改变,id也改变,就称为不可变类型,底层的原理其实就是
创建一个值就是申请了一个内存空间,id即对应内存空间的门牌号
id改变即内存空间改变,即创建了一个新的内存空间(在改变的过程中由于原来的值被删
除导致内存被系统回收,所以新的值就存在了新的随机内存空间)
可变不可变的区别就是在于,在同一个内存地址下,能否改变绑定的值
九.格式化输出
name = input('输入名字:')
age = input('输入年龄:')
print('My name is %s,my age is %s' %(name,age) # %s是占位符,%后内括号内的变量与
括号内位置必须一一对应
练习题
name = input('姓名:') age = input('年龄:') sex = input('性别:') job = input('职业:') print('''------------ info of Egon ----------- Name : %s Age : %s Sex : %s Job : %s ------------- end -----------------''' %(name,age,sex,job))
十.基本运算符
10.1算数运算
a = 10 ,b = 20
+,两个对象相加 a+b = 30
-,得到负数或是一个数减去另一个数 a-b = -10
*,两个数相乘或是返回一个被重复若干次的字符串
/,两个数相除 b/a 输出结果为2
%,取模,返回除法的余数 b%a 输出结果为0
** 幂 返回a的b次幂 a**b输出结果为10的20次方
// 取整除 返回商的整数部分, 9//2输出结果为4
10.2比较运算
a = 10, b = 20
== 等于-比较对象是否相等 (a == b) 返回False
!= 不等于- 比较两个对象是否不相等 (a != b)返回True
<> 不等于 - 比较两个对象是否不相等 (a <> b)返回True 这个 运算符类似于!=
大于 - 返回x是否大于y (a > b)返回False
< 小于 - 返回x是否小于y(a < b) 返回False
还有大于等于,小于等于
10.2 赋值运算
以下假设变量: a = 10, b = 20
= ,即等于
+= c+=a 等效于c = c+a
-= c-=a 等效于c = c-a
*=
/=
%=
**=
//=
10.3逻辑运算
and 布尔'与' 如果x为False , x and y 返回False ,否则它返回y的计算值
or 布尔'或' 如果x为True, x and y 返回True,否则它返回y的计算值
not 布尔'非' ,如果x 为True ,返回False,如果x为False,它返回True
10.4身份运算
is 比较的是id
== 比较的是值
十一.if ...else语句
age_of_girl = 31
if age_of_girl > 26:
print('阿姨好')
else:
print('丑八怪要不要一起吃宵夜')