python-基础编程篇

1 书写规范

1.1 特殊字符总览

  1. 标识符不能以数字开头;区分大小写。
  2. 代码块不用{},代码组用关键字开始,用冒号“:”表示结束判断句。
  3. 变量的赋值操作既是变量声明和定义的过程,可为多个对象指定多个变量,用逗号,分隔。如:a, b, c = 1, 2, “john”。
  4. 分号“;”可用于同一行分隔多条语句。
  5. 单反斜杠“\”将一条的语句分为多行显示,用作多行连接符;使用特殊字符时,用反斜杠表示转义字符。如:'表示单引号,\b表示退格(Backspace),\n表示换行,\r表示回车,\f表示换页,\other表示其它的字符以普通格式输出,不转义。
  6. r/R双反斜杠“\”表示原始字符串,所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。如:open(r’c:\nb123.txt’,‘w’) 或handler=open(‘c:\nb123.txt’,‘w’) 不当作换行转义 。
  7. 三单引号“’’’”或三双引号“"""”表示字符串,由多行组成为编写多行文本的快捷语法,字符串中可以包含换行符、制表符以及其他特殊字符;常用于文档字符串,在文件的特定地点,被当做多行注释(单行注释用“#”)。
  8. 加号(+)是字符串连接运算符,星号(*)是重复操作。

1.2 缩进和空行

(1)缩进
缩进的空白数量是可变的,但是所有代码块语句必须包含相同的缩进空白数量,这个必须严格执行。否则会出现“IndentationError: unexpected indent”的错误提示。
(2)空行
函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。空行并不是Python语法的一部分,书写时不插入空行,Python解释器运行也不会出错,但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。
【注意】:学习Python与其他语言最大的区别就是,Python的代码块不使用大括号({})来控制类,函数以及其他逻辑判断,python最具特色的就是用缩进来写模块。

1.3 中文编码

Python 文件中如果未指定编码,在执行过程会出现报错。解决方法为只要在文件开头加入 # -- coding: UTF-8 -- 或者 #coding=utf-8 即可。
【注意】:Python3.X 源码文件默认使用utf-8编码,可以正常解析中文,无需指定 UTF-8 编码)。

1.4 文件模式

r只读打开文件(默认模式),r+读写
rb以二进制格式只读,rb+以二进制格式读写
a追加
其他类似规则,如:ab,ab+,a+;w,wb,wb+,w+等

1.5 字符串格式化

表达式使用“%”二进制操作符或formart()函数。%操作符常见如:
%c 格式化字符及其ASCII码
%s格式化字符串
%d 格式化整数
%u 格式化无符号整型
%f 格式化浮点数字
%e 用科学计数法格式化浮点数。
【注意】:python运算符中“%”表示取余,“//”表示取整除整数部分。
【例】字符串格式化输出

import sys
print('my name is %(name)s,my age is %(age)d' %{'name':'ray','age':30}) # %格式化方法
print('my {config[spam]} runs {sys.platform}'.format(sys=sys,config={'spam':'laptop'}) ) #format格式化方法

1.6 数字格式化

^, <, > 分别是居中、左对齐、右对齐,后面带宽度
:号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充 + 表示带符号显示,在正数前显示 +,负数前显示 -
(空格)表示在正数前加空格
b、d、o、x 分别是二进制、十进制、八进制、十六进制
可以使用大括号 {} 来转义大括号

【例】数字格式化输出:

import sys
print("{:+.2f} \n {:.2%} \n {:,}\n  {:^15d}\n ".format(3.1415926,0.25522,25522,25522)) #数字格式化

1.7 正则表达式

1.7.1 修饰符

re.I使匹配对大小写不敏感
re.M多行匹配,影响 ^ 和 $
re.S使.匹配包括换行在内的所有字符
re.X增加可读性,忽略空格和 # 后面的注释

1.7.2 模式-特殊元素

^匹配字符串的开头,$匹配字符串的末尾
[…]用来表示一组字符,单独列出,[^…]不在[]中的字符
\w匹配字母数字,\W匹配非字母数字
\s匹配任意空白字符(等价于[\t\n\r\f]),\S匹配任意非空字符
\d匹配任意数字(等价于[0-9]),\D匹配任意非数字
\A匹配字符串开始,\Z匹配字符串结束
\b匹配一个单词边界(单词和空格间的位置),\B匹配非单词边界
\n匹配一个换行符
\t匹配一个制表符
re*匹配0个或多个的表达式
.匹配任意字符,除了换行符(当re.DOTALL标记被指定时,则可以匹配包括换行符的任意字符)
【例】
[Pp]ython表示匹配 “Python” 或"python";
[^aeiou]表示匹配除了aeiou字母以外的所有字符;
[a-zA-Z0-9]表示匹配任何字母及数字(等价于\w);
‘er\b’可以匹配"never"中的’er’,但不能匹配"verb"中的’er’。

2 基础语法

2.1 标准数据类型

  1. Numbers(数字):int 有符号整型、long 长整型、 float 浮点型 、complex 复数
  2. String(字符串):由数字、字母、下划线组成的一串字符。
  3. Tuple(元组):元组用( )标识,内部元素用逗号隔开。但是元素不能二次赋值,相当于只读列表。
  4. List(列表):列表用[ ]标识,是python最通用的复合数据类型。列表可以完成大多数集合类的数据结构实现,支持字符,数字,字符串甚至可以包含列表(所谓嵌套)。
  5. Dictionary(字典):字典用{ }标识,由索引(key)和它对应的值value组成,内部元素均用逗号隔开。字典是除列表以外python之中最灵活的内置数据结构类型,列表是有序的对象集合,字典是无序的对象集合。

2.2 异常处理:try…except

try:
<语句>        #运行别的代码
except <错误类型>:
<语句>        #如果在try部份引发了'错误类型'的异常(判断多种异常,可用逗号隔开)
except <错误类型>,<数据>:
<语句>        #如果引发了'错误类型'异常,获得附加的数据
else:
<语句>        #如果没有异常发生
[Finally:]

【注意】:try-except语句用于捕捉异常,try-finally 语句无论是否发生异常都将执行最后的代码。此外,raise语句自己触发异常,语法如下:

raise [Exception [, args [, traceback]]]

【例】异常处理

while True:
    try:
        x = int(input("Please enter a number: "))
        break
    except ValueError:
        print("Oops!  That was no valid number.  Try again   ")

2.3 循环语句:for&while循环

Python循环语句有for和while循环,跳出循环语句:

  1. break 语句–在语句块执行过程中终止循环并跳出整个循环;
  2. continue 语句–在语句块执行过程中终止当前循环并执行下一次循环;
  3. pass 语句是空语句,是为了保持程序结构的完整性。

【注意】在Python中没有do…while循环。
【例】计算提成奖金

# 需求:从键盘输入当月利润I,求应发放奖金总数?企业发放的奖金根据利润提成按以下规则:
# 利润<=10万元时,奖金可提10%;
# 10万元<利润<=20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;
# 20万元<利润<=40万元时,高于20万元的部分,可提成5%;
# 40万元<利润<=60万元时,高于40万元的部分,可提成3%;
# 60万元<利润<=100万元时,高于60万元的部分,可提成1.5%;
# 高于100万元时,超过100万元的部分按1%提成。

# 程序分析:利用数轴来分界,定位
i = int(input('净利润:'))
arr = [1000000,600000,400000,200000,100000,0]
rat = [0.01,0.015,0.03,0.05,0.075,0.1]
r = 0
for idx in range(0,6):
    if i>arr[idx]:
        r+=(i-arr[idx])*rat[idx]  #计算奖金
        print ((i-arr[idx])*rat[i12580dx])
        i=arr[idx]  #改变分界值
print ("获得总奖金数: %d " %r)

3 模块&函数

#加载模块
import 模块名称 或 from 模块名称import 函数名称

3.1 内置函数

  1. 数学模块:math/cmath.数学函数(参数s)
  2. 时间模块&日期函数:time/calendar/datetime.时间函数(参数s)
  3. 文件/目录操作模块:os.函数(文件/目录名称)
  4. 正则表达式模块:re.函数(),如re.compile(pattern[], flags])
  5. 数据库操作模块:pymysql.函数()
  6. 网络编程模块:soctet模块创建套接字 socket.socket()、smtplib模块创建 SMTP 对象
  7. 多线程模块:thread/threading.函数()
  8. XML解析模块:xml.sax.函数() 、xml.dom.minidom.函数()
  9. GUI编程模块:tkinter模块
  10. json模块:json.函数(),如编码json.dumps()、解码json.loads()
  11. demjson模块:demjson.函数(),如编码demjson.encode()、解码demjson.decode()

3.2 匿名函数:lambda

lambda [arg1 [,arg2,.....argn]]:expression 

【注意】匿名函数只是一个表达式,而不是一个代码块;有自己的命名空间。
【例】匿名函数

# 法1:定义并调用函数
def add(x, y) : # 两数相加
    return x + y
print(add(10,20))

# 法2:Lambda 表达式是一个匿名函数,Lambda表达式基于数学中的λ演算得名,是一个匿名函数,即没有函数名的函数
sum1 = lambda x, y: x +y;
# 调用sum函数
print("Value of total : ", sum1(10, 20))

【总结】Python基础概览

python-基础编程篇_第1张图片

你可能感兴趣的:(python,python)