1、python2\python3的区别:python2\python3的区别:
一、代码重复,python2代码重复功能复用,夹杂其他语言的部分,不规范
python3进行整合,简洁优美
编译型:一次性将全部代码编译成二进制,然后再运行。
缺点:开发效率低,不能跨平台
解释型:程序开始执行时,将代码一行一行解释成二进制,执行。
缺点:开发效率低
python有点:
1、开发效率高,由第三方库直接调用,比如php接不可以了
2、可移植性
3、可扩展、可嵌入性高:加入c语言速度执行快
python的种类:
cpython:使用最广泛,先转换成c的字节码,到系统
jpython:转换为java的字节码,到系统
其他语言python:都是这样,转换为对应的字节码
pypy:代码一次性全部转换成字节码,然后到系统
二、python2使用的是ascii、不识别中文: python3使用的是utf-8字符
三、python2有long int i 3没有
四、python2中print可以不加()但是3要加()
五、2的是raw_input等于3的input
2、变量:变量:
将程序中运算的结果充到内存,方便后续调动:
不能数字开头,不能是python的关键字,数字字母下划线任意组成
变量要具有克描述性
变量不要使用中文
变量不能过长
a = 1
b =2 .....
都可以
3、常量:常量:
一直不变的量:π、×××号
全部大写的变量是常量,放到文件最上面
OPENT_WORK = 323423,这就是常量
4、注释:注释:
单行用#
多行""" """或者''' '''
5、基础数据类型:
int 数字类型 计算。加减乘除等算法
str:字符串 用引号引起来的就是字符串
type(对象)是什么数据类型
用处:储存简单的少量数据
大范围用双引号,小范围用单引号
多行可以使用三引号,比如商品列表,多换行
可以加+字符串的拼接、和乘 str字符串数字类型
布尔值、
true和flase
0为flase 其他的都为True
6、input 输入:
与用户交互,input出来的是字符串
input(“描述信息”)
7、格式化输出:
%占位符 %s 字符串 %d 数字
如果要是用%一定在加%转义%%
如果要将字符串转换为数字可以使用int(变量)包裹一下,这里面的字符串必须全是数字
name = input("name")
age = input("age")
job = input("job")
hobby = input("hobby")
meg="""------------ info of %s -----------
Name : %s
Age : %d
job : %s
Hobbie: %s
------------- end -----------------
"""%(name,name,int(age),job,hobby)
print(meg)
8、if语句:
if 条件:
结果
这里是一个tab键的举例或者四个空格在结果这里
两个等于是比较==、一个=是赋值
if 条件:
满足条件执行代码
elif 条件:
上面的条件不满足就走这个
elif 条件:
上面的条件不满足就走这个
elif 条件:
上面的条件不满足就走这个
else:
上面所有的条件不满足就走这段
9、while
a = 1
flag = True
while flag:
print(a)
a = a+1
if a ==5050:
flag = False
注意:这里的flag是用于两个循环当中跳出停止
break:跳出和他同列的循环
continue:结束本次的循环,但是还会执行
总结:一个题目进行整合测试:
name = "lxf"
password = 123456
count = 0
Y = 'yes'
N = "no"
while count <3:
user = input("请输入名字:")
mima = int(input("请输入密码:"))
if user==name and mima==password:
print("密码输入正确,进入登陆界面")
break
else:
print("输入错误:再输入一次")
count +=1
if count ==3:
con = input("是否在需要三次机会:请输入yes/no:")
if con == Y:
count =0
elif con == N:
print("等待下次重新登陆在试吧!!!")
break
练习题:
#联系题一
a = [1,2,3,4,5,6,7,8,9,10]
for i in a:
if i ==7:continue
print(i)
#联系题二、
a = 1
b = 0
while a <=100:
b = b + a
print(b)
a +=1
#联系题三、
a = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16] #....一直到100太多了写不了了
for i in a:
if i % 2 ==1:
print(i)
#联系题四:
a = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]#。。。。写不了了太多了
for i in a:
if i % 2 ==0:
print(i)
#联系题五、
num = 0
for i in range(100):
if i % 2 ==0:
num = num - i
else:
num = num + i
print(num)
10、逻辑运算符:
and or not
()》not 》 and 》 or
优先级
1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8
1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
11、编码:
电信号01010101010101010
电脑:
a'siic码128
7位标识一个字节
升级到8位一个字节256 2的8次方
00000001 ===一个字符
万国码啊: unicode包括所有国家
16字节表示一个字符
00000001 00000001 ==一个字符 2的16次方
改变:4个字节表一个字符就是三十二次方
11111111 11111111 11111111 11111111 表示一个字节 2的32次方
资源浪费:
升级utf-8:最少用8位:
英文8位一个字节,00000001
欧洲16位两个字节,00000001 00000001
亚洲24位三个字节,00000001 00000001 00000001
单位的转换:
8bit ==1bytes
1024bytes ==1kb
1024kb ==1mb
1024mb == 1G
utf-16 最少16位一个字符
基础数据类型:
dict字典
dict:{'name':'xxx','age':13}
print (dict['name'])
可以打印出xxx
键值可以是数字和字符串,列表等