热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

pythonday1python基础

第一周第5章1、编辑语言主要从以下几个角度进行分类,编辑型和解释型、静态语言和动态语言、强类型定义语言和弱类型定义语言。2、编译型和解释型 编译型语言:c  c++ 解释型语言:j

第一周

5

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

2、编译型和解释型

 编译型语言:c   c++

 解释型语言:java Javascript python  更容易移植

3、动态语言和静态语言

        通常我们所说的动态语言、静态语言是指动态类型语言和静态类型语言。

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

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

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

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

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

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

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

5、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的存在,所以禁止多线程的并行执行。

6、python 解释器

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

       Cpython 一般用的都是这个

       Ipython

       Pypy  可以显著提高python代码的执行速度。

       Jython

       IronPython

  Python的解释器很多,但是使用最广泛的还是Cpython。如果要和java或.net平台交互,最好的办法不是用Jython或Ironpython,而是通过网络调用来交互,确保各程序之间的独立性。

第6章

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

       2、变量\字符编码

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

《python day1 python基础》

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

#变量定义的规则

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

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

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

第7章

1、字符编码和二进制

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

2、显然ASC||码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode

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

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

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

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

字符发展史

 《python day1 python基础》

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

《python day1 python基础》

第8章

       #注释

       ‘’‘ ‘’‘  多行注释       还可以打印多行 

《python day1 python基础》

 

Print (msg)就可以把注释的都打印出来

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

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

  1、+号

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

  3、{} .fotmat()   

《python day1 python基础》

《python day1 python基础》

 1、getpass 库 可以实现密文

在pycharm中不好使的

《python day1 python基础》

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

《python day1 python基础》

 

If elif else  条件语句:

《python day1 python基础》

《python day1 python基础》

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

2、for循环

 For in range(3):

      Print()

《python day1 python基础》

《python day1 python基础》

 

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

4、break 是结束当前循环,不是结束所有的循环。

 


推荐阅读
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 优化联通光猫DNS服务器设置
    本文详细介绍了如何为联通光猫配置DNS服务器地址,以提高网络解析效率和访问体验。通过智能线路解析功能,域名解析可以根据访问者的IP来源和类型进行差异化处理,从而实现更优的网络性能。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • CMake跨平台开发实践
    本文介绍如何使用CMake支持不同平台的代码编译。通过一个简单的示例,我们将展示如何编写CMakeLists.txt以适应Linux和Windows平台,并实现跨平台的函数调用。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • 本文详细介绍了如何在Ubuntu系统中下载适用于Intel处理器的64位版本,涵盖了不同Linux发行版对64位架构的不同命名方式,并提供了具体的下载链接和步骤。 ... [详细]
  • Linux设备驱动程序:异步时间操作与调度机制
    本文介绍了Linux内核中的几种异步延迟操作方法,包括内核定时器、tasklet机制和工作队列。这些机制允许在未来的某个时间点执行任务,而无需阻塞当前线程,从而提高系统的响应性和效率。 ... [详细]
  • 配置Windows操作系统以确保DAW(数字音频工作站)硬件和软件的高效运行可能是一个复杂且令人沮丧的过程。本文提供了一系列专业建议,帮助你优化Windows系统,确保录音和音频处理的流畅性。 ... [详细]
  • MySQL索引详解与优化
    本文深入探讨了MySQL中的索引机制,包括索引的基本概念、优势与劣势、分类及其实现原理,并详细介绍了索引的使用场景和优化技巧。通过具体示例,帮助读者更好地理解和应用索引以提升数据库性能。 ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 深入解析TCP/IP五层协议
    本文详细介绍了TCP/IP五层协议模型,包括物理层、数据链路层、网络层、传输层和应用层。每层的功能及其相互关系将被逐一解释,帮助读者理解互联网通信的原理。此外,还特别讨论了UDP和TCP协议的特点以及三次握手、四次挥手的过程。 ... [详细]
author-avatar
闻汝婕环境_259
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有