Python基础教程

一、简介

Python的历史和为什么学习Python这里就不在赘述了。处于工作原因,对Python要进行深入的学习和研究,这里主要针对的就是Python具有的丰富和强大的库。

Python目前有两个版本,Python2和Python3。现阶段大部分公司用的是Python2,但是这里我基于Python3来记录的。

Life is shot, you need Python. 人生苦短,我用Python。

丰富的库——Python标准库确实很庞大。它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。记住,只要安装了Python,所有这些功能都是可用的。这被称作Python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库,如wxPython、Twisted和Python图像库等等。

规范的代码——Python采用强制缩进的方式使得代码具有极佳的可读性。

面向对象——Python既支持面向过程的编程也支持面向对象的编程。在“面向过程”的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言中,程序是由数据和功能组合而成的对象构建起来的。与其他主要的语言如C++和Java相比,Python以一种非常强大又简单的方式实现面向对象编程。

解释性——这一点需要一些解释。一个用编译性语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。这个过程通过编译器和不同的标记、选项完成。当你运行你的程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且运行。而Python语言写的程序不需要编译成二进制代码。你可以直接从源代码运行程序。在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。事实上,由于你不再需要担心如何编译程序,如何确保连接转载正确的库等等,所有这一切使得使用Python更加简单。由于你只需要把你的Python程序拷贝到另外一台计算机上,它就可以工作了,这也使得你的Python程序更加易于移植。

这里我以后还是会针对Python的库,Python的库,Python的库来学习记录。

二、Python语法

Python的注释及乱码

1、单行注释:以#开头,#右边的所有东西当做说明,而不是真正要执行的程序,起辅助说明作用

2、多行注释:’’’多行注释’’’可以写多行的功能说明

3、Python乱码问题:由于Python源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行:

# -*- coding:utf-8 -*-# coding=utf-8

变量及类型

1、变量的定义

在程序中,有时我们需要对2个数据进行求和,那么该怎样做呢?

大家类比一下现实生活中,比如去超市买东西,往往咱们需要一个菜篮子,用来进行存储物品,等到所有的物品都购买完成后,在收银台进行结账即可

如果在程序中,需要把2个数据,或者多个数据进行求和的话,那么就需要把这些数据先存储起来,然后把它们累加起来即可

在Python中,存储一个数据,需要一个叫做变量的东西:

例如: num1=100

Num2=87

Result=num1+num2

变量三要素:变量的名称,变量的类型,变量的值

2、变量的类型

为了更充分的利用内存空间以及更有效率的管理内存,变量是有不同的类型,如图所示:

注意:

a.整数

Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等。

计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用0x前缀和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,等等。

b.浮点数

浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点数的小数点位置是可变的,比如,1.23x109和12.3x108是完全相等的。浮点数可以用数学写法,如1.23,3.14,-9.01,等等。但是对于很大或很小的浮点数,就必须用科学计数法表示,把10用e替代,1.23x109就是1.23e9,或者12.3e8,0.000012可以写成1.2e-5,等等。

整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法难道也是精确的?是的!),而浮点数运算则可能会有四舍五入的误差。

c.字符串

字符串是以单引号'或双引号"括起来的任意文本,比如'abc',"xyz"等等。请注意,''或""本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'只有a,b,c这3个字符。如果'本身也是一个字符,那就可以用""括起来,比如"I'm OK"包含的字符是I,',m,空格,O,K这6个字符。

如果字符串内部既包含'又包含"怎么办?可以用转义字符\来标识,比如:'I\'m \"OK\"!' 表示的字符串内容是:I'm "OK"!

转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\\表示的字符就是\,可以在Python的交互式命令行用print()打印字符串看看。如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Python还允许用r''表示''内部的字符串默认不转义

#普通含有转义的字符串
text="1 E:/Code/PycharmProjects/QtDemo/ToolsList\__pycache__\start.cpython-36.pyc \r\n"
print(text)#输出如下:
#E:/Code/PycharmProjects/QtDemo/ToolsList__pycache__\start.cpython-36.pyc
#<空行>#在python中使用r来处理常量,强制不转义。
text=r"1 E:/Code/PycharmProjects/QtDemo/ToolsList\__pycache__\start.cpython-36.pyc \r\n"
print(text)#输出如下:
#E:/Code/PycharmProjects/QtDemo/ToolsList__pycache__\start.cpython-36.pyc \r\n

如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用'''...'''的格式表示多行内容,

print('''line1

line2

line3''')

d.布尔值

布尔值和布尔代数的表示完全一致,一个布尔值只有True、False两种值,要么是True,要么是False,在Python中,可以直接用True、False表示布尔值(请注意大小写),也可以通过布尔运算计算出来

布尔值可以用and、or和not运算。

and运算是与运算,只有所有都为True,and运算结果才是True

e.空值

空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。此外,Python还提供了列表、字典等多种数据类型,还允许创建自定义数据类型,我们后面会继续讲到。

怎样知道一个变量的类型呢?

在python中,只要定义了一个变量,而且它有数据,那么它的类型就已经确定了,不需要咱们开发者主动的去说明它的类型,系统会自动辨别.可以使用type(变量的名字),来查看变量的类型

3.常见的数据类型转换

函数

说明

int(x [,base ])

将x转换为一个整数

long(x [,base ])

将x转换为一个长整数

float(x )

将x转换到一个浮点数

complex(real [,imag ])

创建一个复数

str(x )

将对象 x 转换为字符串

repr(x )

将对象 x 转换为表达式字符串

eval(str )

用来计算在字符串中的有效Python表达式,并返回一个对象

tuple(s )

将序列 s 转换为一个元组

list(s )

将序列 s 转换为一个列表

chr(x )

将一个整数转换为一个字符

unichr(x )

将一个整数转换为Unicode字符

ord(x )

将一个字符转换为它的整数值

hex(x )

将一个整数转换为一个十六进制字符串

oct(x )

将一个整数转换为一个八进制字符串

标识符和关键字

A.标识符

开发人员在程序中自定义的一些符号和名称,标示符是自己定义的,如变量名 、函数名等

标示符的规则:标示符由字母、下划线和数字组成,且数字不能开头。不能有特殊符号:\ , / , ; , #

python中的标识符是区分大小写的

命名规则:

见名知意----起一个有意义的名字,尽量做到看一眼就知道是什么意思(提高代码可 读性) 比如: 名字 就定义为 name , 定义学生 用 student

驼峰命名法:

小驼峰式命名法(lower camel case): 第一个单词以小写字母开始;第二个单词的首字母大写,例如:myName、aDog

大驼峰式命名法(upper camel case): 每一个单字的首字母都采用大写字母,例如:FirstName、LastName

不过在程序员中还有一种命名法比较流行,就是用下划线“_”来连接所有的单词,比如send_buf

B.关键字

python一些具有特殊功能的标示符,这就是所谓的关键字

关键字,是python已经使用的了,所以不允许开发者自己定义和关键字相同的名字的标示符

可以通过以下命令进行查看当前系统中python的关键字:

import keyword

keyword.kwlist

Python基础教程(一)相关推荐

  1. 编程入门书籍-Python基础教程(第3版)

    Python基础教程(第3版) Magnus Lie Hetland 著,袁国忠 译 ISBN:9787115474889 包装:平装 开本:16开 正文语种:中文 出版社:人民邮电出版社 出版时间: ...

  2. Python基础教程学习笔记:第一章 基础知识

    Python基础教程 第二版 学习笔记 1.python的每一个语句的后面可以添加分号也可以不添加分号:在一行有多条语句的时候,必须使用分号加以区分 2.查看Python版本号,在Dos窗口中输入&q ...

  3. python基础教程博客_python基础教程(一)

    之所以选择py交易有以下几点:1.python是胶水语言(跨平台),2.python无所不能(除了底层),3.python编写方便(notepad++等文本编辑器就能搞事情),4.渗透方面很多脚本都是 ...

  4. python基础教程第二版和第三版哪个好-python基础教程 2版和3版哪个适合新手?!...

    python基础教程 2版和3版哪个适合新手? 现在学是学python3. 两者的差异发者本身影响并不大,个别语法细微的差比如python3的print数方式使用,一些常用模块的名称差异,一些机制的差 ...

  5. python基础教程第二版答案-《Python基础教程》(第2版修订版)中要注意的地方...

    想必现在大家学习Python都会用3.0及以上的版本了,虽然2.X的版本依然很多,但是这两年随着部分开源项目不再支持2.X版本,3.X已经成为趋势. 正是在这样的大背景下,我最近用这本<Pyth ...

  6. python基础教程第三版电子版百度云-《python基础教程第三版》高清版PDF免费下载...

    下载地址1:http://t.cn/EGxO1sW Python基础教程 第3版Python简明教程书籍 Python编程从入门到实践 灵程序设计丛书 <python基础教程第三版>高清版 ...

  7. python基础教程视频(全13集)-Python基础视频教程(600集)【传智播客精品教程】...

    Python基础视频教程 初级共600节课 本套视频是传智播客紧抓未来最大趋势--人工智能,应运而生的一套Python入门视频教程,Python是学习人工智能的首选语言,而该视频是专门针对零基础的学员 ...

  8. python基础教程第三版和第二版选哪个-python基础教程 2版和3版哪个适合新手?!...

    python基础教程 2版和3版哪个适合新手? 现在学是学python3. 两者的差异发者本身影响并不大,个别语法细微的差比如python3的print数方式使用,一些常用模块的名称差异,一些机制的差 ...

  9. python基础教程第二版和第三版有什么区别-《Python基础教程》(第2版修订版)中要注意的地方...

    想必现在大家学习Python都会用3.0及以上的版本了,虽然2.X的版本依然很多,但是这两年随着部分开源项目不再支持2.X版本,3.X已经成为趋势. 正是在这样的大背景下,我最近用这本<Pyth ...

  10. python基础教程攻略-python基础教程(一)

    之所以选择py交易有以下几点:1.python是胶水语言(跨平台),2.python无所不能(除了底层),3.python编写方便(notepad++等文本编辑器就能搞事情),4.渗透方面很多脚本都是 ...

最新文章

  1. java servlet 多线程_Servlet的多线程和线程安全
  2. 比 ELK 更简洁、高效!企业级日志平台后起之秀 Graylog!
  3. POJ-2948 Martian Mining 动态规划
  4. SD卡FAT32文件系统格式
  5. 《机器学习实战》chapter06 支持向量机
  6. android 原理 组合控件_Android_组合方式自定义控件
  7. 安装node-rfc时需要的cmake依赖
  8. python3.8.2中文手册chm_springboot2.2.X手册:构建全局唯一的短链接数据中心
  9. Interpreter(解释器)--类行为型模式
  10. 简述select语句的完整语法_SQL里的各种语句的完整语法
  11. WinForm部署问题
  12. Android权限Uri.parse总结
  13. ASP.NET——基础 12、Request
  14. HDOJ--1203--I NEED A OFFER!
  15. 《深入浅出数据分析》读书笔记
  16. SC;FC;LC;光纤接口介绍
  17. mysql数据库管理与开发pdf_深入浅出mysql数据库开发、优化与管理维护.pdf
  18. 地震matlab频域分析,MATLAB在地震数据分析中的应用
  19. java-php-python-ssm校园流浪猫图鉴管理系统的设计与实现计算机毕业设计
  20. ICCMO微信公众账号开发系列(1)接入微信公众账号

热门文章

  1. 学习笔记:B样条曲线法
  2. 修复计算机黑屏,笔记本电脑黑屏怎么修复 笔记本电脑黑屏修复方法【详解】...
  3. 【工作记录】支付系统数据库梳理
  4. 软件架构(软件体系结构)-设计原则篇(七大设计原则)
  5. 概率论考研笔记(三)
  6. 电脑有网登录不了qq,可能原因是这个
  7. SPSS(十二)SPSS对应分析(图文+数据集)
  8. 应用回归分析第五版电子书_应用回归分析(第5版)
  9. 应用回归分析第五版电子书_《应用回归分析-(第5版)》【价格 目录 书评 正版】_中国图书网...
  10. 基于R语言的回归分析实现