# 1、使用while循环输入 1 2 3 4 5 6 8 9 10 a = 0 b =1 while b: a+=1 if a == 7: print(' ',end = '') continue elif a == 11: break print (a,' ',end = '') print('') # 2、求1-100的所有数的和 a = 0 i = 0 while a <101: c = lambda a: a+1 a= c(a) i = a+i print(i) # 3、输出 1-100 内的所有奇数 for i in range(1,101): print(i if i%2 else'','\t',end = '') print('' if i%20 else'\n',end = '') else:print() # 4、输出 1-100 内的所有偶数 for i in range(1,101): print('' if i%2 else i,'\t',end = '') print('' if (i-1)%20 else'\n',end = '') else:print() # 5、求1-2+3-4+5 ... 99的所有数的和 a = 0 for i in range(1,100): a+= i if i%2 else 0-i else:print(a) # 6、用户登陆(三次机会重试 times = 3 while times: if input('用户名') == 'aaa' and input('密码') == 'bbb': print('登录成功') break else: times -=1 if times: print('再来一次') else:print('三次机会用完了')
宏观上:
python2源码不统一,不标准,更新混乱,重复代码太多
python3统一的标准,去掉了重复的代码
想着弄个google上网,没弄成
很多内容出自:
www.cnblogs.com/jin-xin/articles/7459977.html#title-0-1-0
1自我介绍
大家好,我叫阿河,来自山东。 中专学历。在这之前搞的C,主要用于单片机的过程函数的编写。后来为了弄清楚网上的p2p数据,就接触了python。加了一些QQ群,在群里有网络视频,就开始了自学。感觉自己可以从中层起步进行学习,可是学了4天,出问题了。还是从基础开始吧。
2python介绍
先介绍一下python吧,
2.1出生与应用
发明者Guido van Rossun 89年冬创作。当时他在阿姆斯特丹,这个地方好像是从连云港出发的丝绸之路的终点啊。
2017年,也就是去年7月TIOBE排行第四。百度了一下,有培训机构以TIOBE为关键词做软文的。
主要的应用我不管,我只是想学来做爬虫,做数据自动做电算处理数据用。
资料显示在1.0里就有了匿名函数,map(用指定函数对目标组进行批量加工,这里的加工是指,把批量的石头加工成相等批量的雕像)filter(过滤,就是个有色眼睛,只看美女,对目标人群里的美女全都要电话号,做成电话清单,然后就一个一个的打电话骚扰他们)reduce(还没学,不知道做什么的)
时隔6年,2000年国庆后的半个月2.0出来了,增加了内存回收。就是仓库里的各种雕像,如果没有挂价格牌子的都杂碎,杂碎到成为空气,如果要做新雕像就把空气变成石头,再进行雕刻成雕像(对象)。
到了04年,非典的那几年吧,又是冬天11月底(那时候只有光棍节,没有天猫节)更新为2.4,主要的是在谋个领域等价于windows XP的Django诞生了,这下就可大发了(发达了的意思)
后来就是10年党建的那几天,出了2.7。08年出3.0对三方库做了优化。
2.2与别的区别
编译:解释
静态:动态
强类:弱类
编译:去饭店点好菜,菜上完了,开始吃。下交来吃的时候,就快速的把上次吃过的菜再次上桌一次:
解释:到了饭店,点一个菜,上一个菜,吃一个菜,在吃饱之前的过程中有很多情况哦。
动态:价格标签可以挂在雕像上,可以挂在多个雕像上,也可以挂在美女身上。这里的标签只是一个占位符,(占个位子而已)
静态:价格标签可以挂在雕像上,那就是雕像的价格签,不能挂在美女身上了。这里的标签可以是指针,可以指向空,如果非空,就只能指向一个8*10KG(一个10KG是一个位)的美女,如果给一个16*10KG的美女,他就强制把美女劈开,只收一半,只有在标签+1向下一个8*10KG的内存地址时,才能找到另半个美女。(开始没想那么多,写到这里感觉鲜血淋漓)
2.3优缺点
发明这个python的时候就是想让新手好了入门的。
第三方的开发代码很多的,可以拿来手,就不用自己去写了,说是人生苦短,我用python.
低层的物理管理到主板的电平信号什么的不用管了,只管写想法就好了的。
如果硬件环境变了,那是解释器要做了,不用我们管。所以在移植方面,没的说了。
如果想用python驱动并控制硬件,就和C扩大加工,就好了
如果在C里面想省事,也可以用python生成机器码,加到C里面进行调用。
批量化数据处理时,会比别的慢一点,可以影响也不大的。
代码是明文的。别人也可以看,我就看过别人的,一个p2p网站的。
GIL在执行解释器的时候,操作系统生成了一个任务,解释器就在这一个任务里完成,不会要去找操作器要第二个任务的生成,可能是怕不同步吧,等吧,会有三方库去尝试弄他的。
2.4编译器的各类
分类:cpython(C语言识别的字节码,官方主要推的解释器)
jypython(支持java可识别的字节码,由java转换成0101的二进制代码)
ironpython
其它python
pypy(先编译,一次性编译成字节码,然后给操作系统,但是开发效率相对慢)
3部分基础知识
3.1常量
比如 兀
3.2注释
方便自己回忆,方便别人看懂
单行注释#
多行注释“”“”“” 或‘’‘’‘’
3.3基础数据类型
数字的类型,用于计算。
代码的类型,用于执行代码。
字符的呢,‘100’与100(int)怎么区别呢?
用type()来识别
python2:
32位机,int取值-2**31到2**31-1
64位机,int取值-2**63到2**63-1
超限的是long类型
python3:都是int的类型
字符串:str 用引号括在内的都是字符串(重复上一行,ctrl+d)
可以进行相加运算(拼接)
不可以相减
布儿型:True False
3.4运行代码
3.5解释器
3.6内容编码
编译器是对01的机器语言进行驱动cpu的,而我们写的是代码(字母),所在要把字母转换成01的格式,p2的转换方式是每8个位就弄到CPU处理一下,p3就不一样了,他是4个8位处理一下,就是unicode,但是如果占位少的字母也用4个字就多浪费了3倍的存储数据的空间。所以就出现了utf-8.通过二次读取,确定字母的占位数,取出了所有的占位数,给cpu去处理。
3.7变量
变量:将一些运行的中间结果暂存到内存中,以便后续代码调用。在房间里弄出一个雕像,在上面挂个牌子。
1/必须由字母,数字,下划线任意组合,且不能数字开头
2/不能是python中的关键字
3/变量具有可描述性
赋值:就是造个标签,然后挂在房间的一个雕像上面
3.8程序交互
input()内置函数,用他得到的内容只能是字符的格式 每一个内置函数,后面还有好几十个呢
3.9格式化输出
在字符的输入的时候可以加一些占茅坑的,自习课占位子的,%s男的女的都可以,%d就只能是女的了。
如果说,不想让别人在你边上,想多占人坑,怎么办?你占了坑,没有人来用,学校是不允许的,
这说说吧,你同学本来是帮你占位子的,可是现在他想用坑怎么办,只能是让第三个人来帮他了
3.10基本运算符
算数运算 + - * / % ** //
比较运算 == != <> > < >= <=
赋值运算 = += -= *= /= %= **= //=
逻辑运算 and or not
成员运算 in not in
身份运算
位运算
3.11流程控制
诸葛亮给了三个锦囊,在有问题的时候就打开一个,这就是诸葛的流程控制,你想当诸葛亮吗?
还有哦,晚上让驴拉磨,天不这亮不能停,累不死不能停,这也算流程控制。
4python的环境
1/到官网去下载,安装 ,配置环境变量(windows10的更舒服一些)
5练习
# 1、使用while循环输入 1 2 3 4 5 6 8 9 10 a = 0 b =1 while b: a+=1 if a == 7: print(' ',end = '') continue elif a == 11: break print (a,' ',end = '') print('') # 2、求1-100的所有数的和 a = 0 i = 0 while a <101: c = lambda a: a+1 a= c(a) i = a+i print(i) # 3、输出 1-100 内的所有奇数 for i in range(1,101): print(i if i%2 else'','\t',end = '') print('' if i%20 else'\n',end = '') else:print() # 4、输出 1-100 内的所有偶数 for i in range(1,101): print('' if i%2 else i,'\t',end = '') print('' if (i-1)%20 else'\n',end = '') else:print() # 5、求1-2+3-4+5 ... 99的所有数的和 a = 0 for i in range(1,100): a+= i if i%2 else 0-i else:print(a) # 6、用户登陆(三次机会重试 times = 3 while times: if input('用户名') == 'aaa' and input('密码') == 'bbb': print('登录成功') break else: times -=1 if times: print('再来一次') else:print('三次机会用完了')
浙公网安备 33010602011771号