python day1 python基础

第一周javascript

5java

一、编辑语言主要从如下几个角度进行分类,编辑型和解释型、静态语言和动态语言、强类型定义语言和弱类型定义语言。python

二、编译型和解释型c++

 编译型语言:c   c++算法

 解释型语言:java javascript python  更容易移植c#

三、动态语言和静态语言windows

        一般咱们所说的动态语言、静态语言是指动态类型语言和静态类型语言。安全

       1)动态类型语言:是指在运行期间才去作数据类型检查的语言,也就是说,在用动态类型的语言编辑时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。Python和Ruby就是一种典型的动态类型语言网络

2)静态类型语言:与动态类型语言恰好相反,它的数据类型是在编译期间检查的,也就是说在写程序时要声明全部变量的数据类型,c/c++是静态类型语言的典型表明,其余的静态型语言还有c#、JAVA等。多线程

四、强类型定义语言和弱类型定义语言

       1)强类型定义语言:强制数据类型定义的语言,也就是说,一旦一个变量被指定了某个数据类型,若是不通过强制转换,那么它将永远是这个数据类型了。

       2)弱类型定义语言:数据类型能够被忽略的语言。它与强类型定义语言相反,一个变量能够赋不一样数据类型的值。

       强类型定义语言在速度上可能略逊色与弱类型定义语言,可是强类型定义语言带来的严谨可以有效的避免许多错误。另外,这门语言是否是动态语言与这门语言是否类型安全之间是彻底没有联系的。

       例:python是动态语言,是强类型定义语言,JAVA是静态语言,是强类型定义语言

五、python的优缺点

       优势:

              1)python的定位是“优雅”、“明确”、“简单”,因此python程序看上去老是简单易懂,初学者学python,不但入门容易,并且未来深刻下去,能够编写那么很是复杂的程序。

              2)开发效率很是高,python有很是强大的第三方库,基本上你想经过计算机实现任何功能,python官方库里都有相应的模块进行支持,直接下载调用后,在基础库的基础上再进行开发,大大下降开发周期,避免重复造轮子。

              3)高级语言:当你使用python语言编写程序的时候,你无需考虑如何管理你的程序使用的内存一类的底层细节。

              4)可移植性:因为它的开源本质,python已经被移植在许多平台上,若是你当心地避免使用依赖系统的特性,那么你的全部python程序无需修改就几乎能够在市场上全部的系统平台上运行。

              5)可扩展性:若是你须要你的一段关键代码运行得更快或者但愿某些算法不公开,你能够把你的部分程序用c或c++编写,而后在你的python程序中使用它们。

              6)可嵌入式:你能够把python嵌入到你的c/c++程序,从而向你的程序用户提供脚本功能。

       缺点:

              1)速度慢:python的运行速度相比c语言确实慢不少,跟JAVA相比也要慢一些,但其实这里所指的运行速度慢在大多数状况下用户是没法直接感知到的,必须借助测试工具才能体现出来。除非要写对速度要求极高的搜索引擎等,这种状况写,固然仍是建议你用c去实现的。

              2)代码不能加密,由于PYTHON是解释性语言,它的源码都是以明文形式存放的。

              3)线程不能利用多CPU问题,这是python被人诟病最多的一个缺点,GIL即全局解释器锁(Global interpreter Lock),是计算机程序设计语言解释器用于同步线程的工具,使得任什么时候刻仅有一个线程在执行,python的线程是操做系统的原生线程,在Linux上为pthread,在windows上为win thread,彻底由操做系统调度线程的执行,一个python解释器进程内有一条主线程,以及多条用户程序的执行线程。即便在多核CPU平台上,因为GIL的存在,因此禁止多线程的并行执行。

六、python 解释器

       当咱们编写python代码时,咱们获得的是一个包含python代码的以.py为扩展名的文本文件。要运行代码,就须要python解释器去执行.py文件。

       Cpython 通常用的都是这个

       Ipython

       Pypy  能够显著提升python代码的执行速度。

       Jython

       IronPython

  Python的解释器不少,可是使用最普遍的仍是Cpython。若是要和java或.net平台交互,最好的办法不是用Jython或Ironpython,而是经过网络调用来交互,确保各程序之间的独立性。

第6章

       一、Twisted(不支持3.0)目前不知道支持不支持

       二、变量\字符编码

              变量是为了存东西,为了后面的调用,

  Name 改变后 Name2不会改变  由于name2直接指的是Alex|| 的内存地址,因此name变的时候name2不会改变

#变量定义的规则

       1)变量名只能是字母、数字或下划线的任意组合

       2)变量名的第一个字符不能是数字

       3)如下关键字不能声明为变量名 

第7章

一、字符编码和二进制

       字符编码:ASC||码 0-127   中文:GB2312(1980年)一共收录了7445个字符,包括6763个汉字和682个其它符号。

二、显然ASC||码没法将世界上的各类文字和符号所有表示,因此,就须要新出一种能够表明全部字符和符号的编码,即:Unicode

Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码,Unicode是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的 字符设定了统一而且惟一的二进制编码,规定全部的字符和符号最少由16位来表示(2个字节),即:2**16=65536.

注:此处说的是最少2个字节,可能更多。

UTF-8,是对Unicode编码的压缩和优化,它再也不使用最少使用2个字节,而是将全部的字符和符号进行分类:ascii码中的内容用1个字节保存,欧洲的字符用2个字节保存,东亚的字符用3个字节保存。

因此,python解释器在加载.py文件中的代码时,会对内容进行编码(默认ascii)’

字符发展史

 

在python中要是使用汉字的话 须要用UTF-8模式

第8章

       #注释

       ‘’‘ ‘’‘  多行注释       还能够打印多行 

 

Print (msg)就能够把注释的都打印出来

一、用户输入 input()默认的类型是str

       字符串拼接格式 三种方法:(效率低下)

  一、+号

       二、%s是占位符(%string) %d是占位符(便是数字)%f(浮点)

  三、{} .fotmat()   

 一、getpass 库 能够实现密文

在pycharm中很差使的

如何判断输入用户的密码对不对?

 

If elif else  条件语句:

若是while语句成立 就执行其下的子程序 若是不成立 则执行else语句。



二、for循环

 For in range(3):

      Print()

 

3、continue 继续 跳出本次循环 继续下次循环

4、break 是结束当前循环,不是结束全部的循环。