第一章 Python入门须知
python是一种解释性高级通用脚本语言,具有通用性,可以用于几乎任何与程序设计相关应用的开发。
C语言是静态语言,python是脚本语言,执行速度比编译型语言慢。
程序运行方式——交互式(即时响应代码并输出结果)、文件式(写在文件中批量执行)
基本编写方法——IPO方法:输入(input)、输出(output)、处理(process)
程序特点:语法简洁、生态丰富、多语言集成、平台无关、强制可读、支持中文、模式多样、类库便捷。
第二章 Python基本语法
1. 语法元素
- 变量:变量的值可以通过赋值(“=”)方式被修改。在python中,变量可以随时命名,随时赋值,随时使用。
- 命名规则:可以采用大写字母、小写字母、数字、下划线和汉字等字符及其组合进行命名,一般不建议使用中文。命名首字母不可以是数字。标识符中间不可以有空格,长度无限制。不能与python的保留字相同。
- 保留字:是指被编程语言内部定义并保留使用的标识符,对大小写同样敏感。常用的保留字:False else import in break except True and as def del elif if global from for try while not or等
2. 缩进
Python通过缩进来体现语句之间的逻辑关系,即Tab或四个空格,不能乱用缩进。
采用IDLE进行交互式编程,其中“>>>”表示命令提示符。
3. 注释
#, ””” ””” ,‘’’ ‘’’都可以用来注释,注释不被编译。
4. 数据类型
基本数据类型:数字类型(int 、float 、complex)、字符串类型
组合数据类型:元组、集合、列表、字典
5. 数字类型
- 整数类型(int):没有小数部分的整数。默认十进制,有二进制B、八进制O、十六进制X。
- 浮点数(float):带有小数部分的数字。有十进制和科学计数法的表达方式,取值范围一般是-10308~10308。
- 复数(complex):与数学中复数类型一致,a+bj表示。
6. 字符串类型
采用一对双引号或者单引号括起来的字符表示。可进行索引,即[N:M]表示获取从N到M(不包括M的连续的字符串)。一段字符串有从0开始正向递增序号,和从-1开始的反向递减序号。
7. 基本输入输出函数
- <变量> = input(<提示性文字>) ——获得用户输入的内容
a = input(“请输入:”)
- <变量> = eval(<提示性文字>) ——去掉引号后的字符内容
- <变量> = eval(input(<提示性文字>)) ——获取用户输入的数字
- print(<待输出字符串或变量>,end=”<增加的输出结尾>”)
print(<输出字符串模板>.format(<变量一>,<变量二>,<变量三>))
print(“age = {}”.format(age))
- import <功能库名称> ——引用已有功能代码
等同于import numpy as np ; from numpy import *
8. 程序的语句元素
- 表达式:类似数学中计算公式,以表达单一功能为目的,运算后产生运算结果。分为:算术表达式、关系表达式、逻辑表达式、测试表达式
>>>10 * 20
200
>>>”我是” + “中国人”
‘我是中国人’
>>>20 > 10
True
- 赋值语句:对变量进行复制的一行代码,一般形式为:<变量> = <表达式>;可以同时给多个变量赋值,一般形式为:<变量1>,...,<变量N> = <表达式1>,...<表达式N>
>>>a = 10 * 20
>>>print(a)
200
>>>n = 3
>>>x, y = n+1, n+2
>>>x
4
- 其他语句:单分支语句(最简单的分支语句,使用形式为if(条件):语句块)、二分支语句(覆盖单个条件所有路径的一种分支语句,使用形式为if(条件):语句块1 else:语句块2)、循环语句(根据判断条件确定一段程序是否再执行一次或多次,包括条件循环和遍历循环,基本过程如下:while(条件):语句块1 语句块2)
例题:获得用户输出的一个合法算式,例如1.2+3.4,输出运算结果
>>>a = eval(input(“请输入计算表达式:”))
>>>print(“表达式的结果为:{ }”.format(a))
第三章 基本数据类型
第一节 数字类型及其运算
1. 整数类型(int):没有小数部分的整数。理论上取值范围没有限制,只要计算机内存能够存储,可以使用任意大小的整数。
进制种类 | 引导符号 | 描述 |
十进制(默认) | 无 | 正常显示 |
二进制 | 0B/0b | 字符由0和1组成 |
八进制 | 0O/0o | 字符由0~7组成 |
十六进制 | 0X/ox | 字符由0~9、a到f(或A到F)组成 |
不同进制之间的整数可以相互运算或比较,具体步骤如图:
>>>0b1010+0x1010+0o1010+1010
5652
>>>0x1010 == 4112
True
2.浮点数类型(float):必须带有小数部分,小数部分可以为0。有两种表示方法:一般表示和科学计数法。如:十进制表示(1010.0)、科学计数法(1.01e3)
注意:Python语言的浮点数运算存在一个“不确定尾数”问题。
>>>0.1+0.2
0.30000000000000004
3. 复数类型(complex):可以看作二元有序实数对(a,b),表示a+bj,a是实部,b是虚部,两者都是浮点类型。对于复数z可以用z.real或者实数部分,用z.imag获得虚数部分。
>>>z = 1 + 2j
>>>z.real
1.0
4. 数值运算
+ - * / | 加减乘除运算 | ** | 幂运算,相当于求n次方 |
// | 整数除运算,运算结果只保留整数 | % | 模运算,相当于取余数 |
abs(x) | 绝对值 | divmod(x,y) | (x//y,x%y),输出二元组形式 |
pow(x,y,z) | (x**y)%z | round(x,d) | 对x进行四舍五入,保留d位小数 |
max(x1,x2,....,xn) | 求最大 | min(x1,x2,....,xn) | 求最小 |
第二节 字符串类型及其操作
1. 字符串类型
字符串是字符的序列表示,根据字符串内容多少分为单行字符串和多行字符串。单行字符串可以由(’ ’),或(“ ”)作为边界表示;多行字符串可以由一对(’’’),或者(”””)来表示。
注意:“\”是一种特殊字符,表示“转义”。还有\n表示换行,\\表示反斜杠,\t表示制表符(空格)。
2. 字符串的引用
- 切片:<字符串或字符串变量> [N:M]——获取字符串从N到M(不包括M)的子字符串。如果N缺失则默认将N设为0,如果M缺失则默认到字符串结尾。
- 格式化::<模板字符串> .format(<逗号分隔的参数>)——将字符串格式化.可以通过format( )参数的序号在模板字符串槽中指定参数的使用,参数从0开始编号。
>>>age = 20
>>>name = “bob”
>>>print(“{1},你的年龄是:{0}岁”.format(20,name))
bob,你的年龄是:20岁
- 格式控制信息:{<参数序号>:<格式控制标记>}。格式控制标记包括<填充><对齐><宽度><,><.精度><类型>字段。
>>>”{:=^25}”.format(s) ///^居中,用=填充,字符串长度25
“===========25============”
3. 字符串的处理
x in s | 如果x是s的子串,返回True,否则返回False | len(x) | 返回字符串长度 |
str(x)/int(x)/float(x) | 返回任意类型x对应的字符串/整数/浮点数形式 | chr(x) | 返回unicode编码对应字符 |
ord(x) | 返回字符对应unicode编码 | str.lower( )/str.upper( ) | 返回字符串副本,并字符小写/大写 |
str.split(sep=none) | 返回一个列表,根据sep分割字符串组成 | str.count(x) | 返回字符串中出现x的次数 |
str.replace(old,new) | 所有old子串被替换成new子串 | str.strip(chars) | 从str中去掉其左侧和右侧中chars列出的字符 |
str.join(iter) | 将iter变量中每个元素后增加一个str字符串 | type(x) | 对变量进行类型判断 |
str.center(width,fillchar) | 字符串居中函数,fillchar参数可选 | isinstance(object,classinfo) | 判断一个对象是否是已知类型 |
>>>ord(‘和’)
21644
>>>ord(A)
65
>>>ord(a)
97
>>>chr(64)
@
>>>”Hello world hello you”.split(‘o’)
[‘Hell’,’w’,’rld hell’,’y’,’u’]
>>>”hello world hello you”.count(‘hello’)
2
>>>”abcde”.replace(‘c,d’)
‘abdde’
>>>”python”.center(10,’=’)
‘==python==’
>>>”,”.join(‘hello’)
‘h,e,l,l,o’
>>>type(”python”)
<class ‘str’>