热门标签 | 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


推荐阅读
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • PHP 5.5.0rc1 发布:深入解析 Zend OPcache
    2013年5月9日,PHP官方发布了PHP 5.5.0rc1和PHP 5.4.15正式版,这两个版本均支持64位环境。本文将详细介绍Zend OPcache的功能及其在Windows环境下的配置与测试。 ... [详细]
  • libsodium 1.0.15 发布:引入重大不兼容更新
    最新发布的 libsodium 1.0.15 版本带来了若干不兼容的变更,其中包括默认密码散列算法的更改和其他重要调整。 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 本文将介绍如何使用 Go 语言编写和运行一个简单的“Hello, World!”程序。内容涵盖开发环境配置、代码结构解析及执行步骤。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 尽管某些细分市场如WAN优化表现不佳,但全球运营商路由器和交换机市场持续增长。根据最新研究,该市场预计在2023年达到202亿美元的规模。 ... [详细]
  • 作为一名新手,您可能会在初次尝试使用Eclipse进行Struts开发时遇到一些挑战。本文将为您提供详细的指导和解决方案,帮助您克服常见的配置和操作难题。 ... [详细]
  • ImmutableX Poised to Pioneer Web3 Gaming Revolution
    ImmutableX is set to spearhead the evolution of Web3 gaming, with its innovative technologies and strategic partnerships driving significant advancements in the industry. ... [详细]
  • Splay Tree 区间操作优化
    本文详细介绍了使用Splay Tree进行区间操作的实现方法,包括插入、删除、修改、翻转和求和等操作。通过这些操作,可以高效地处理动态序列问题,并且代码实现具有一定的挑战性,有助于编程能力的提升。 ... [详细]
  • 本题通过将每个矩形视为一个节点,根据其相对位置构建拓扑图,并利用深度优先搜索(DFS)或状态压缩动态规划(DP)求解最小涂色次数。本文详细解析了该问题的建模思路与算法实现。 ... [详细]
  • 本题探讨如何通过最大流算法解决农场排水系统的设计问题。题目要求计算从水源点到汇合点的最大水流速率,使用经典的EK(Edmonds-Karp)和Dinic算法进行求解。 ... [详细]
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社区 版权所有