python基础05
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
来自:https://blog.csdn.net/XiaodunLP/article/details/89464003?ops_request_misc=%25257B%252522request%25255Fid%252522%25253A%252522160990234316780273658596%252522%25252C%252522scm%252522%25253A%25252220140713.130102334..%252522%25257D&request_id=160990234316780273658596&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~baidu_landing_v2~default-6-89464003.pc_search_result_no_baidu_js&utm_term=python%E5%9F%BA%E7%A1%80