python语法基础笔记
本篇笔记基于博主自己的的学习,理解,总结所写。很多东西可能存在误解,不能保证百分之百的正确。
1.1 常量和变量
1.2 数据类型
1.2.1 基本数据元素
1.2.1.1 数字
1.2.1.2 字符串
1.2.2 标准数据类型
1.2.2.1 列表(方括号)
1.2.2.2 元祖(圆括号)
1.2.2.3 字典(花括号)
1.3 运算符
1.3.1 算术运算
1.3.2 关系运算
1.3.3 逻辑运算
1.3.4 赋值运算
1.3.5 位运算
1.3.6 成员运算
1.3.7 身份运算
1.4 表达式
1.5 返回值
2. 控制结构
2.1 条件判断结构
2.1.1 if 特殊情况判断
2.1.2 if 互斥情况判断
2.1.3 if 多种情况判断
2.1.4 if 多个条件混合判断
2.2 条件循环结构
2.2.1 for循环遍历
2.2.2 while条件循环
2.3 控制跳转
3. 模块编程
3.1 语句和语句块
3.2 函数和模块
3.2.1 函数的定义
3.2.2 函数的调用
3.2.3 函数的传参
3.2.4 函数的返回
3.2.3 高阶函数
3.3 包和类
1. 数据表达
1.1 常量和变量
- 变量
变量在解释器的命名空间中,只是一个标签,用于表示对对象的引用。可以作为数据类型的引用,也可以用函数等其他对象的引用。
1.2 数据类型
1.2.1 基本数据元素
1.2.1.1 数字
- 整形 int
- 浮点型 float
- 布尔型 bool
- 复数型 complex
1.2.1.2 字符串
1.2.2 标准数据类型
1.2.2.1 列表(方括号)
1.2.2.2 元祖(圆括号)
1.2.2.3 字典(花括号)
1.3 运算符
运算符表示数据运算的类别。python中共有七种运算类型。不同运算类型包括不同的运算符。
- 算术运算
- 关系运算
- 逻辑计算
- 赋值运算
- 位运算
- 成员运算
- 身份运算
1.3.1 算术运算
算术运算包括七种运算符:
+ 加法计算
- 减法计算
* 乘法计算
/ 除法计算
% 取模(余)计算
** 幂计算
// 取整除计算
1.3.2 关系运算
关系运算包括七种运算符:
== 等于
!= 不等于
<> 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于
1.3.3 逻辑运算
逻辑运算包括三种运算符:
and 布尔与
or 布尔或
not 布尔非
1.3.4 赋值运算
赋值运算包括八种运算符:
= 基本赋值
+= 加后赋值
-= 减后赋值
*= 乘后赋值
/= 除法赋值
%= 取余赋值
**= 幂赋值
//= 取整赋值
1.3.5 位运算
位运算包括六种运算符:
& 按位于
| 按位或
^ 按位异或
~ 按位取反
<< 左移
>> 右移
1.3.6 成员运算
成员运算两种运算符:
in
not in
1.3.7 身份运算
is
not is
1.4 表达式
表达式由数据类型和运算符组成。表达式有返回值。
返回值有:
- 基本数据元素
- 标准数据类型
表达式有多种类型,比如:
- 运算表达式
- 条件表达式
- 赋值表达式
- 判断表达式
1.5 返回值
返回值一般为:
- 基本数据元素
- 标准数据类型
- 空值
- 无返回值
2. 控制结构
2.1 条件判断结构
条件判断结构,由if...elseif...else...else引导构成。
if后面为条件表达式,条件表达式通常由关系运算,身份运算,成员运算等能够构成条件运算,且一般返回布尔类型值True或者False构成判断条件。
esle为条件成立后的结果。一般为输入,输出,计算,或者无操作。
条件判断不单一,一般存在一个或者多个添加。
一般会按照“判断条件-结果分支“的形式,存在多种判断结构。即:
- 单条件,单分支
- 单条件,双分支
- 单条件,多分支
- 多条件,单分支
- 多条件,双分支
- 多条件,多分支
2.1.1 if 特殊情况判断
单分支。常用于特殊情况排除
# 简单示例
if True:
print 'ok'
if 1:
print 'ok'
if 2 > 1:
print 'ok'
# 示例代码
for i in range(10):
if i % 2 != 0:
print i
2.1.2 if 互斥情况判断
双分支。常用于对立的两个方面
#简单示例
if False
print 'ok'
else:
print 'not ok'
# 示例代码
for i in range(10):
if i % 2 == 0:
print "偶数:",i
else:
print "奇数:",i
2.1.3 if 多种情况判断
多分支。常用于多个情况的选择或者条件嵌套
# 简单示例
# 示例代码
if 0 < a < 100:
print "a+100=:",a+100
elif 100 <= a < 200:
print "a+200=:",a+200
elif 200 < a:
print "a > 200"
else:
print "a < 0"
2.1.4 if 多个条件混合判断
#示例代码
a = input("a的值:")
b = input("b的值:")
if a > 100 and b < 100:
print "a > 100 and b < 100"
else:
print "不满足a>100,并且b<100"
if a >= 100 or b >= 100:
print "a >= 100 or b >= 100"
else:
print "a和b都不大于100"
2.2 条件循环结构
2.2.1 for循环遍历
- for 循环输入
for 遍历一个列表(或者返回列表的表达式),来处理输入操作
a = [ ]
for i in range(10):
a.append(i)
print a[i]
- for 循环输出
for遍历一个列表(或者返回列表的表达式),来处理输出操作。示例如下:
for i in 1,2,3,4:
print i
for i in range(10):
print i
- for 循环计算
2.2.2 while条件循环
2.3 控制跳转
3. 模块编程
3.1 语句和语句块
python语句由换行符和缩进组成。语句块是稍微复杂一点的带有逻辑性的语句,如控制结构种的语句模块。
语句和语句块是模块化编程的基础,也就是语法基础。由语句和语句块,构成了编程文件。
语句和表达式的区别在于,表达式一般都有返回值,而语句只是一条包含了表达式的指令合集。
## 赋值语句
a = 100
a = input("输入a:")
## 控制结构
if a > 0:
print a
else
print "hello"
上述示例种,控制结构语句块,包含了条件表达式等
3.2 函数和模块
如果说语句和语句块,是编程语句的最基本组成。
那么可以由语句或者语句组成功能性更强,重复性更低的代码段。可以称之为函数。
函数的定义,在数学上为:对输入的不同的值,都进行同样的操作,这也服务编程中函数的使用规范。
python函数,表示组织好的,可重复使用的,用来实现单一,或者相关功能的代码段。
python解释器,提供了很多内置函数,也支持用户自定义函数
函数的使用,包括定义,调用,传参,返回,变量作用域等概念。
函数在python中的引用极其重要,是python功能的体现。
3.2.1 函数的定义
语法层面上,函数以def关键字定义,后接函数名称和圆括号括起来的参数列表
任何传入参量和自变量,需要放入参数列表中
函数第一行语句,可以选择性的使用函数说明文档。
函数同样遵循python的语法,冒号+缩进
return 表达式,表示函数的结束,表示给调用者的返回。不带表达式的函数返回None
定义函数时,需要确定函数的名称和参数个数;如果有必要,可以先对参数的数据类型做检查。
#语法结构
def functionname( parameters ):
"函数_文档字符串"
function_suite
return [experssion]
#示例代码。打印字符串函数
def helloworld(str):
print "I am :%s" % str
helloworld("liwanliang")
3.2.2 函数的调用
函数的定义完成之后,基本上能够知道函数的功能。函数功能的实现,通过在代码中调用函数实现。
有多个默认参数时,调用的时候,既可以按照顺序提供的默认参数,也可以不按顺序提供部分默认参数。当不按顺序提供部分默认参数时,需要把参数名写上。
#示例代码:
def helloworld(str):
print "I am :%s" % str
myname = raw_input("input your name:")
hellowrld(myname)
3.2.3 函数的传参
python中,一切都是对象。对象才具有类型,而变量是对象的引用,无类型。
对象有可变对象,也有不可变对象。
可变对象包括:
- list
- dict
不可变对象包括:
- string
- tuple
- number
python函数中,以变量来进行参数传递,分为不可变类型和可变类型。
不可变类型传递的是值的拷贝,而可变类型传递得是值。
严格意义上讲,我们不能说是值传递,还是引用传递。我们应该说是传可变对象和传不可变对象。
#不可变对象示例代码
def liwanliang(a):
a = 100
print a
b = 200
liwanliang(b)
print b
#可变对象示例代码
def helloworld(str1,str2):
print "Hello,I am:" + str1 +"."+ "I am "+ str2
myname = raw_input("input your name:")
myage = raw_input("input your age:")
helloworld(myname,myage)
python可以使用的正式参数类型:
- 必备参数。即函数定义了参数,调用时也一定要传入。
- 关键字参数。即函数调用时,在参数列表中赋值传入。
- 默认参数。即函数调用时,未指定参数值时,则会默认为函数定义时的值。
- 不定长参数。即函数参数不定长时,通过*号表示不定长的参数列表。
可变参数允许传入0个或者任意个参数,这些可变参数在函数调用时自动组装为tuple。
关键字参数允许传入0个或者任意个含参数名的参数,这些关键字参数在函数内部自动组装成dict。
3.2.4 函数的返回
return 表达式。该语句表示退出函数,选择性地向调用方返回一个表达式。不带参数值的return语句返回None。
所有函数均有返回值,通过显示指定,或者隐式返回None。
一个函数可以有多个return语句,但是只有一个被执行。如果没有一条return被执行,则隐式返回None。
如果执行了return语句,函数会立刻返回,结束调用。被执行的return之后的语句,不再被执行。
return和print的区别为:print仅仅是函数代码段中,打印标准输出部分的语句;而return是结束调用时,返回给调用者的对象。
无论定时的返回什么类型,return只能返回单个标准数据类型,单个数据类型可以包括多种基本数据元素。
函数可以同时返回多个值,但其实就是一个tuple。
- 返回基本数据元素
如整型,浮点型,布尔型,复数型 - 返回标准数据类型
如字符串,列表,元祖,字典,集合 - 返回函数,闭包,匿名函数
3.2.3 高阶函数
python高阶函数中,函数可以作为参数,也可以作为返回值,并且参与函数运算。
3.3 包和类
python语法基础笔记的更多相关文章
- python 笔记2:python语法基础
python语法学习笔记: 1 输入输出 input(),print(). name = input('input your name : ')print('hello ,'+name)print(& ...
- (数据分析)第02章 Python语法基础,IPython和Jupyter Notebooks.md
第2章 Python语法基础,IPython和Jupyter Notebooks 当我在2011年和2012年写作本书的第一版时,可用的学习Python数据分析的资源很少.这部分上是一个鸡和蛋的问题: ...
- Python学习基础笔记(全)
换博客了,还是csdn好一些. Python学习基础笔记 1.Python学习-linux下Python3的安装 2.Python学习-数据类型.运算符.条件语句 3.Python学习-循环语句 4. ...
- JavaScript基础——JavaScript语法基础(笔记)
JavaScript语法基础(笔记) 1.语言编码 JavaScript语言建立在Unicode字符集基础之上,因此脚本中,用户可以使用双字节的字符命名常量.变量或函数等. [示例] var 我=&q ...
- Python | Python语法基础
目录 前言 1. 变量与简单数据结构 2. 列表相关 3. 集合 4. If语句 5. 字典 6. 用户输入和while循环 7. 函数 8. 类与对象 9. 文件 10. 异常 11. 测试 最后 ...
- 学习笔记_58 python语法基础
1.python是解析型语言. 有点像javaScript在html运行一样,不需要mian函数入口,随时随地定义函数,执行函数, 执行语句,定义类型 2.python能面向对象 3.python使用 ...
- python语法基础-面向对象-基础-长期维护
############### 类的基本操作 ############## """ 类的基本认识: 1,类就是一个模子 2,dict,list都是类,具体的一 ...
- day_02~day_09的Python语法基础
Python基础学习 day_02 使用方法修改字符串的大小写 将字符串首字母变成大写 >>> name = "ada lovelace" >>> ...
- python语法基础-初始化/继承
写了一些程序,基本上都是直接def函数 然后在main方法中 调用 但是在一些应用程序中 会有基本语法的使用(初始化,继承) 初始化: 1.在程序执行时一定执行一次的操作 2.python中初始化in ...
随机推荐
- python中常用函数整理
1.map map是python内置的高阶函数,它接收一个函数和一个列表,函数依次作用在列表的每个元素上,返回一个可迭代map对象. class map(object): ""&q ...
- python第九十天----jquery
jQuery http://jquery.cuishifeng.cn/ 相当于js的模块,类库 DOM/BOM/JavaScript的类库 一.查找元素 jQuery 选择器 直接找到某个或者某个标签 ...
- mysql启动失败一例
操作系统版本:Ubuntu 13.04 mysql 版本:mysql-server-5.5 现象:突然之前接到报告说数据库启不来了.第一时间查看硬盘空间,看是否硬盘满了.发现空间使用正常. root@ ...
- openSUSE搭建OpenVPN
目录 openSUSE搭建OpenVPN 环境 安装openVPN服务端 安装easy-rsa工具 配置vars文件 创建服务端证书及key 创建客户端证书 疏理证书文件 服务端配置 启动openvp ...
- Spring系列(1)--IOC 和 DI
IOC 和 DI IOC 原理 xml 配置文件配置 bean dom4j 读取配置文件 工厂设计模式 反射机制创建对象 applicationContext.xml 配置文件,该配置文件名可自定义: ...
- RD340服务器安装windows2003系统
RD340服务器安装windows2003系统云修网
- python基础 - 变量与运算符
变量与运算符 变量 定义一个变量 a = [1,2,3,4,5,6] print(a) # [1,2,3,4,5,6] 变量命名要求: 首字母不能是数字 只能包含字符数字下划线 不能是关键字 type ...
- 17秋 软件工程 团队第五次作业 Alpha 测试报告
用户反馈博客:17秋 软件工程 团队第五次作业 Alpha 用户反馈 团队项目软件的总体测试计划 测试模块: 用户登录 部门信息模块 活动模块 部员管理模块 短信通知模块 测试计划: 注:测试结果Y代 ...
- St_geometry 初始用
数据准备 点表 CREATE TABLE point_stgeom tablespace UBOSS_STS_WAREHOUSE as select car_number, longid, latid ...
- 洛谷 P1032 字串变换
题目描述 已知有两个字串 A, B 及一组字串变换的规则(至多6个规则): A1 -> B1 A2 -> B2 规则的含义为:在 A$中的子串 A1 可以变换为 B1.A2 可以变换为 B ...