python 基础知识(一)

简介: python 基础知识(一)

一、python发展介绍
Python的创始人为Guido van Rossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC 语言的一种继承。之所以选中Python(大蟒蛇的意思)作为程序的名字,是因为他是一个叫Monty Python的喜剧团体的爱好者。Python是从ABC发展起来,主要受到了Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了Unix shell和C的习惯。Python 已经成为最受欢迎的程序设计语言之一。2011年1月,它被TIOBE编程语言排行榜评为2010年度语言。自从2004年以后,python的使用率是呈线性增长

二、python的风格

Python在设计上坚持了清晰划一的风格,这使得Python成为一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言。Python的作者有意的设计限制性很强的语法,使得不好的编程习惯(例如if语句的下一行不向右缩进)都不能通过编译。其中很重要的一项就是Python的缩进规则。

一个和其他大多数语言(如C)的区别就是,一个模块的界限,完全是由每行的首字符在这一行的位置来决定的(而C语言是用一对花括号{}来明确的定出模块的边界的,与字符的位置毫无关系)。这一点曾经引起过争议。因为自从C这类的语言诞生后,语言的语法含义与字符的排列方式分离开来,曾经被认为是一种程序语言的进步。不过不可否认的是,通过强制程序员们缩进(包括if,for和函数定义等所有需要使用模块的地方),Python确实使得程序更加清晰和美观。

三、python程序的定位

Python的设计哲学是“优雅”、“明确”、“简单”。由于这种设计观念的差异,Python源代码通常具备更好的可读性,并且能够支撑大规模的软件开发。

Python是完全面向对象的语言。函数、模块、数字、字符串都是对象。并且完全支持继承、重载、派生、多继承,有益于增强源代码的复用性。Python支持重载运算符和动态类型。

Python本身被设计为可扩充的。并非所有的特性和功能都集成到语言核心。Python提供了丰富的API和工具,以便程序员能够轻松地使用C语言、C++、Cython来编写扩充模块。Python编译器本身也可以被集成到其它需要脚本语言的程序内。

四、python程序的执行
Python在执行时,首先会将.py文件中的源代码编译成Python的byte code(字节码),然后再由Python Virtual Machine(Python虚拟机)来执行这些编译好的byte code(python虚拟机主要有cpython、jpython、IronPython、PyPy)。基于C的Python编译出的字节码文件,通常是.pyc格式。

除此之外,Python还可以以交互模式运行,比如主流操作系统Unix/Linux、Mac、Windows都可以直接在命令模式下直接运行Python交互环境。直接下达操作指令即可实现交互操作。

五、python的基本语法

1.缩进
Python开发者有意让违反了缩进规则的程序不能通过编译,以此来强制程序员养成良好的编程习惯。并且Python语言利用缩进表示语句块的开始和退出(Off-side规则),而非使用花括号或者某种关键字。缩进成为了语法的一部分。官方建议使用4个空格来表示每级缩进,在实际编写中可以自定义空格数。使用Tab字符和其它数目的空格虽然都可以编译通过,但不符合编码规范。支持Tab字符和其它数目的空格仅仅是为兼容很旧的的Python程序和某些有问题的编辑程序。

2.控制语句

if语句,当条件成立时运行语句块。经常与else, elif(相当于else if) 配合使用。
if True:

   exception1

elif:

   exception2

.....

.....  

else:

   exception3

for语句,遍历列表、字符串、字典、集合等迭代器,依次处理迭代器中的每个元素。
for i in range(1,100,2):

   print(i)

while语句,当条件为真时,循环运行语句块

while True:

   exception

try语句。与except,finally配合使用处理在程序运行中出现的异常情况。
try:

   exception

except Error,e:

   exception

else:

###############################################

>>>try:

   exception

>>>finally:

   exception

raise语句。制造一个错误。  

try:

   ...

except exception:

   ...

else:

   ...

finally:

...

raise exception  

 

class语句。用于定义类型。

>>>def classname():

   exception

 

def语句。用于定义函数和类型的方法。

>>>def funcname():

   exception

 

pass语句。表示此行为空,不运行任何操作。

>>> if True:

       pass

assert语句。用于程序调适阶段时测试运行条件是否满足。

with语句。Python2.6以后定义的语法,在一个场景中运行语句块。比如,运行语句块前加密,然后在语句块运行退出后解密。

yield语句。在迭代器函数内使用,用于返回一个元素。自从Python 2.5版本以后。这个语句变成一个运算符。

import语句。导入一个模块或包,用逗号分割模块名称就可以同时导入多个模块

>>>import sys

>>>import os as system

from import语句。从包导入模块或从模块导入某个对象。

>>>from socket import gethostname, socket

>>>from socket import *   # 载入所有对象到当前名字空间

import as语句。将导入的对象赋值给一个变量。

>>>import socket as net, thread as threads

in语句。判断一个对象是否在一个字符串/列表/元组里。
>>> num=[1,2,3,4]

>>> 1 in num

True

3.表达式

主要的算术运算符与C/C++类似。+, -, *, /, //, **, ~,%

>>> 3+2 加法或者取正

5

>>> 3-2 减法或者取负

1

>>> 3*2 乘法

6

>>> 3**2 取幂

9

>>> 3/2 除法

1.5

>>> 3//2 地板除

1

>>> a=3 按位取反

>>> ~3

-4

>>> 3%2 取模

1

>> 二进位向左移位运算符。左操作数的值左移由右操作数指定的位数

>>> a << 2

12

<<表示右移和左移,二进位向右移位运算符。左操作数的值是由右操作数指定的位数向右移动。

>>> a >>2

0

& 二进制的AND(与)

| 二进制的OR(或)

^ 二进制的XOR(非)

Python使用and, or, not表示逻辑运算。

> 大于

< 小于

== 等于

!= 不等于

<= 小于等于

>= 大于等于

在这些运算符里面,~, |, ^, &, <<, >>必须应用于整数。

is, is not用于比较两个变量是否是同一个对象。
>>> a=123

>>> b=1234

>>> a is b

False

>>> b=123

>>> a is b

True

in, not in用于判断一个对象是否属于另外一个对象。
>>> num=[1,2,3,4]

>>> 1 in num

True

>>> num=[1,2,3,4]

>>> 5 not in num

True

Python支持“列表推导式“,比如计算0-9的平方和:

>>> sum(x * x for x in range(10))

285

"一劳永逸" 的话,有是有的,而 "一劳永逸" 的事却极少

相关文章
|
JavaScript Java 关系型数据库
基于 SpringBoot+Vue实现酒店客房管理系统(含源码+数据库)
基于 SpringBoot+Vue实现酒店客房管理系统(含源码+数据库)
|
Kubernetes 数据可视化 容器
k8s安装Dashboard
k8s安装Dashboard
514 0
|
Kubernetes jenkins 持续交付
jenkins学习笔记之二十一:k8s部署jenkins及动态slave
jenkins学习笔记之二十一:k8s部署jenkins及动态slave
1159 0
|
Python
python字符串常用操作方法
python字符串常用操作方法
|
存储 Python 容器
python字典的常用操作方法
python字典的常用操作方法
|
存储 Kubernetes NoSQL
k8s快速创建MongoDB
k8s快速创建MongoDB
|
存储 运维 Kubernetes
在k8S中,生产环境的pv回收策略该如何选择?
在k8S中,生产环境的pv回收策略该如何选择?
520专属——使用Python代码表白究竟能不能成功?
520,谐音:“我爱你”,一直觉得,520真正的意义,不单是用于表达爱,也不是为了收礼物和红包,而是提醒我们,不要忘记爱与被爱。 废话不多说,下面整理了9个效果图和参考代码,感兴趣的朋友可以看看
正则表达式高级用法
正则表达式是强大的文本匹配工具,常用于搜索、匹配和验证字符串。高级用法包括:捕获组(区分需要提取的内容)、非捕获组(减少开销)、零宽断言(定位匹配位置)、反向引用(匹配相同内容)、嵌入代码(实现复杂逻辑)、贪婪与非贪婪匹配(控制匹配范围)和递归匹配(处理嵌套结构)。了解这些高级技巧能提升字符串操作效率。示例展示了验证Email、电话号码、提取URL和清理多余空格的正则表达式应用。