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

Python学习之路—Day1

第1章Python语言简介1.1Python是什么Python(英国发音:ˈpaɪθən美国发音:ˈpaɪθɑːn)是什么呢?简单的说,它是一种计算机编程语言及
第1章 Python语言简介

1.1 Python是什么

  Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn)是什么呢?简单的说,它是一种计算机编程语言及一组配套的软件工具和库。是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年发明,第一个公开发行版发行于1991年[1]

  Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议  。

  Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。

  Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。

1.2 Python应用 

  Python作为一种功能强大且通用的编程语言而广受好评,它具有非常清晰的语法特点,适用于多种操作系统,目前在国际上非常流行,正在得到越来越多的应用。

 

  Web程序:Django、Pyramid、bottle、tornado、Flask、web2py

  GUI应用:wxPython、tklnter、PyGtk、PyGobject、PyQt

  科学运算:SciPy、Pandas、IPthon

  软件发展:Buildbot、Trac、Roundup

  系统管理:Ansible、Salt、OpenStack

 

第2章 Python安装 

2.1 Windows环境安装

(1)在官网https://www.python.org/downloads/ 下载你所需要的版本

(2)根据你的操作系统,单机安装相应的安装程序链接(我这选择X86-64的)

 

(3)下载完成后,双击以运行它

(4)安装完成后为搭建环境变量,把Python的安装目录添加到PATH系统变量中即可

我的电脑-->属性-->

(5)测试Python是否安装成功,如图所示显示安装成功

(6)测试我们的第一条程序

2.2 Linux环境安装

(1)在官网下载Python-2.7.11.tgz

(2)编译安装

 1     tar  zxf  Python-2.7.11.tgz  解压下载的文件
2
3   cd Python-2.7.11/ 进入解压的文件中
4
5   ./configure –prefix=/usr/local/python 是软件的组态设置文件,产生对应平台的Makefile
6
7   make 根据Makefile的内容,编译出符合平台的可执行文件
8
9   make install 编译安装成功的软件,这一步根据需要可以选择是否需要root权限。默认的安装都是在安装在/usr/local/目录下,这样是需要管理员权限的
10
11   make clean 清除编译成功的obj and binary

 

(3)编译安装完成后,将系统自带的低版本的Python替换掉,但CentOs的yum依赖Python,为了yum正常运行,将自带的Python备份,如下:

1    mv  /usr/bin/python  /usr/bin/python-2.6.6  将自带Python备份
2
3   ln -s /usr/local/python/bin/python /usr/bin/python 将现有Python做个软链接
4
5
7   /usr/bin/python-2.6.6 查看自带版本
8
9   python 查看现有安装版本

(4)yum依赖原有Python版本,将yum指向原来的Python

   

vim /usr/bin/yum

  将第一行中的“#!/usr/bin/python”修改为“#!/usr/bin/python-2.6.6”

 

第3章 变量及数据类型

 3.1 变量,赋值的含义

  变量:是计算机语言中能储存计算结果的抽象概念,变量通常是可变的,变量可以通过变量名访问,而且还占用一定的存储空间。

  赋值:将某一数值赋给某个变量的过程,一般用“=”表示。

   name = “Ajen Liu” 字符串赋值需要“”

  age = 24   数字直接赋值,但是如果想要数字变成字符串需要“24”

 

3.2 变量的命名规范

  1.系统中的自带名称不能作为变量名称,比如input

  2.num_of_ajen_liu = 20  一般使用

  3.NumOfAjenLiu = 20  这个也可以使用,看个人爱好,我觉得还是自己先决定一种格式,不然以后变来变去的,很是麻烦

  4.数字不能开头命名(7dd 是错误的)

  5.!name  特殊符号不能命令

  6.num of ajen liu  这种也是错误的,变量命名不能有空格

 

3.3 条件判断与缩进

 说到判断就让人很容易想到 if …else…,但是在Python中却相差很大

 1 luck_number = 2
2
3 guess_number = input(“Enter you number:”)
4
5 if guess_number == luck_number:
6
7 print(“恭喜你,猜对了!”) #在此处前面空格,不是为了好看,而是为了强制缩进
8
9 elif guess_number > luck_number:
10
11 print(“对不起,猜大了!”)
12
13 else:
14
15 print(“对不起,猜小了”)
16
17 如果你的程序中会出现IndentationError,则你的代码中出现缩进错误

 

 

3.4循环控制及次数限制(计数器)

 1   luck_number=1
2 guess_number = int(input("输入:"))
3 while True: #用while True能够实现无限循环,
4 if guess_number != luck_number:
5 print("aaa")
6 else:
7 print("qqq")
8
9
10
11 for i in range(3): #能够限制次数
12
13 print(“LOOP”,i)

 

 计数器  

 1 luck_number=1
2 guess_number = int(input("输入:"))
3 guess_count = 0 #在此处设定一个计数器
4 while True: #用while True能够实现无限循环,
5 if guess_number != luck_number:
6 guess_count += 1
7 if guess_count>2: #满足条件跳出循环
8 break
9 print("aaa")
10 else:
11 print("qqq")

 

 3.5 常用数据类型

  数字: int(整数型)  Float(浮点型) Long(长整型) type(0.5)可以查看类型

  字符串:字符串格式化  name = ‘liuqiang’ print(“Name:%s” %name)

       常用功能:name=raw_input(“name:”).strip() 去掉空白  strip(‘A’)去掉括号内的字符串

 

3.6 列表

      name_list = [‘ajen’,’one’,’enlish’,’it’,’money’]

  追加:name_list.append(‘yum’)  在列表中最后一位追加一个字符串

    name_list = [‘ajen’,’one’,’enlish’,’it’,’money’,’yum’]

  索引:name_list.idex(‘one’) 输出是1 以0为起始

          name_list[0]  输出是ajen

  统计:name_list.count(‘ajen’)  输出是1,统计ajen的个数

  插入:name_list.insert(2,’liu’)  此处2,个人理解是索引数2或者第二个位置后面

         name_list = [‘ajen’,’one’,’liu’,’enlish’,’it’,’money’,’yum’]

  删除:name_list.pop() 删除最后一个

  删除多个重复的:for i range(name_list.count(‘liu’))

                                     name_list.remove(‘liu’)

  切片:name_list[0:2]

           Name_list[0:5:2]  隔着切

 

3.7 简单的嵌套循环

1 for j in range(5):
2    for i in range(10):
3    if i <5:
4    print("输出:",i)
5    continue #跳出本次循环,满足上面的判断条件,则执行continue上面的语句,不满足条件,跳出循环,执行continue下面的语句
6    print("打印:",i)
7    if j > 3:
8    print("计数:",j)
9    break #跳出这一层的循环

 

 

3.8 文件操作

 (1)选择文件路径和模式:

       file_obj= open(“文件路径”,”打开文件模式”)

   打开文件模式:r   只读方式打开文件

                         w   打开一个文件用于写入

                        a    打开一个文件用于追加

                        w+  打开一个文件用于写读

       注意:w 和 w+ 都是先将文件内容清空,再进行写入操作,执行此操作要备份并慎重

(2)执行文件:读或写

  读取文件的内容:

         file_obj.read()  一次性加载所有内容到内存

         file_obj.readlines()  一次性加载所有内容到内存,并根据行分割成字符串

         forline in file_obj:  每次只读取一行内容

                printline  

(3)关闭文件

   file_obj.close()

 

参考【1】http://baike.baidu.com/link?url=cNVmMed2W56sNvyRGWiNMi6KtxthVKIRstkQyaMVz9JMWunyUKe-g2bcOho8wjk6PJbnfi-rW1P1GrizZTEFla


推荐阅读
  • 在 CentOS 7 上部署和配置 RabbitMQ 消息队列系统时,首先需要安装 Erlang,因为 RabbitMQ 是基于 Erlang 语言开发的。具体步骤包括:安装必要的依赖项,下载 Erlang 源码包(可能需要一些时间,请耐心等待),解压源码包,解决可能出现的错误,验证安装是否成功,并将 Erlang 添加到环境变量中。接下来,下载 RabbitMQ 的 tar.xz 压缩包,并进行解压和安装。确保每一步都按顺序执行,以保证系统的稳定性和可靠性。 ... [详细]
  • 在开发过程中,我最初也依赖于功能全面但操作繁琐的集成开发环境(IDE),如Borland Delphi 和 Microsoft Visual Studio。然而,随着对高效开发的追求,我逐渐转向了更加轻量级和灵活的工具组合。通过 CLIfe,我构建了一个高度定制化的开发环境,不仅提高了代码编写效率,还简化了项目管理流程。这一配置结合了多种强大的命令行工具和插件,使我在日常开发中能够更加得心应手。 ... [详细]
  • 本文详细介绍了如何在Linux系统中搭建51单片机的开发与编程环境,重点讲解了使用Makefile进行项目管理的方法。首先,文章指导读者安装SDCC(Small Device C Compiler),这是一个专为小型设备设计的C语言编译器,适合用于51单片机的开发。随后,通过具体的实例演示了如何配置Makefile文件,以实现代码的自动化编译与链接过程,从而提高开发效率。此外,还提供了常见问题的解决方案及优化建议,帮助开发者快速上手并解决实际开发中可能遇到的技术难题。 ... [详细]
  • Linux下Google Test (GTest)测试环境搭建步骤
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 在《Linux高性能服务器编程》一书中,第3.2节深入探讨了TCP报头的结构与功能。TCP报头是每个TCP数据段中不可或缺的部分,它不仅包含了源端口和目的端口的信息,还负责管理TCP连接的状态和控制。本节内容详尽地解析了TCP报头的各项字段及其作用,为读者提供了深入理解TCP协议的基础。 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • 体积小巧的vsftpd与pureftpd Docker镜像在Unraid系统中的详细配置指南:支持TLS加密及IPv6协议
    本文详细介绍了如何在Unraid系统中配置体积小巧的vsftpd和Pure-FTPd Docker镜像,以支持TLS加密和IPv6协议。通过这些配置,用户可以实现安全、高效的文件传输服务,适用于各种网络环境。配置过程包括镜像的选择、环境变量的设置以及必要的安全措施,确保了系统的稳定性和数据的安全性。 ... [详细]
  • 本书详细介绍了在最新Linux 4.0内核环境下进行Java与Linux设备驱动开发的全面指南。内容涵盖设备驱动的基本概念、开发环境的搭建、操作系统对设备驱动的影响以及具体开发步骤和技巧。通过丰富的实例和深入的技术解析,帮助读者掌握设备驱动开发的核心技术和最佳实践。 ... [详细]
  • 对于以压缩包形式发布的软件,其目录中通常包含一个配置脚本 `configure`。该脚本的主要功能是确定编译所需的各项参数,如头文件的位置和链接库的路径,并生成相应的 `Makefile` 以供编译使用。通过运行此脚本,开发者可以确保软件在不同环境下的正确编译与安装。此外,该脚本还能够检测系统依赖项,进一步提高编译过程的可靠性和兼容性。 ... [详细]
  • 在 Debian 11 系统中部署 CMake 的详细步骤与最佳实践
    CMake是一个免费、开源、跨平台的工具系列,旨在构建、测试和打包软件. CMake用于使用简单的平台和独立于编译器的配置文件来控制软件编译过程,并生成可在您选择的编译器环境中使用 ... [详细]
  • PyFasterRCNN配置详解与优化指南
    本文主要讲解Faster-RCNN的配置过程,以及配置过程中遇到问题的解决方案。 1.下载工程gitclone--recursivehttps:github.comr ... [详细]
  • Python,英国发音:ˈpaɪθən,美国发音:ˈpaɪθ��ːn,空耳读法为“ ... [详细]
  • 如何提高工程编译速度
    点击上方蓝字可直接关注!方便下次阅读。如果对你有帮助,麻烦点个在看或点个赞,感谢~     文章首发  公众号——Pou光明公众号还在维护,大家莫慌~LinuxQt平台为例测试编译 ... [详细]
  • [ipsec][strongswan]strongswan源码分析(五)plugin的配置文件的添加方法与管理架构解析
    我们知道,strongswan是基于插件式管理的。不同的插件有不同的配置文件,在这下面,我们以netlink的插件为例:etcstrongswan.dcharonkernel-ne ... [详细]
  • 编译lib手动编译cmake编译gtest测试程序断言和caseFixture使用gmock编译gmock测试程序参考GtestGithub使用gtest(gmock)方便我们编写 ... [详细]
author-avatar
张明怡紫茂佳尧
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有