本篇笔记基于博主自己的的学习,理解,总结所写。很多东西可能存在误解,不能保证百分之百的正确。

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语法基础笔记的更多相关文章

  1. python 笔记2:python语法基础

    python语法学习笔记: 1 输入输出 input(),print(). name = input('input your name : ')print('hello ,'+name)print(& ...

  2. (数据分析)第02章 Python语法基础,IPython和Jupyter Notebooks.md

    第2章 Python语法基础,IPython和Jupyter Notebooks 当我在2011年和2012年写作本书的第一版时,可用的学习Python数据分析的资源很少.这部分上是一个鸡和蛋的问题: ...

  3. Python学习基础笔记(全)

    换博客了,还是csdn好一些. Python学习基础笔记 1.Python学习-linux下Python3的安装 2.Python学习-数据类型.运算符.条件语句 3.Python学习-循环语句 4. ...

  4. JavaScript基础——JavaScript语法基础(笔记)

    JavaScript语法基础(笔记) 1.语言编码 JavaScript语言建立在Unicode字符集基础之上,因此脚本中,用户可以使用双字节的字符命名常量.变量或函数等. [示例] var 我=&q ...

  5. Python | Python语法基础

    目录 前言 1. 变量与简单数据结构 2. 列表相关 3. 集合 4. If语句 5. 字典 6. 用户输入和while循环 7. 函数 8. 类与对象 9. 文件 10. 异常 11. 测试 最后 ...

  6. 学习笔记_58 python语法基础

    1.python是解析型语言. 有点像javaScript在html运行一样,不需要mian函数入口,随时随地定义函数,执行函数, 执行语句,定义类型 2.python能面向对象 3.python使用 ...

  7. python语法基础-面向对象-基础-长期维护

    ###############    类的基本操作    ############## """ 类的基本认识: 1,类就是一个模子 2,dict,list都是类,具体的一 ...

  8. day_02~day_09的Python语法基础

    Python基础学习 day_02 使用方法修改字符串的大小写 将字符串首字母变成大写 >>> name = "ada lovelace" >>> ...

  9. python语法基础-初始化/继承

    写了一些程序,基本上都是直接def函数 然后在main方法中 调用 但是在一些应用程序中 会有基本语法的使用(初始化,继承) 初始化: 1.在程序执行时一定执行一次的操作 2.python中初始化in ...

随机推荐

  1. python中常用函数整理

    1.map map是python内置的高阶函数,它接收一个函数和一个列表,函数依次作用在列表的每个元素上,返回一个可迭代map对象. class map(object): ""&q ...

  2. python第九十天----jquery

    jQuery http://jquery.cuishifeng.cn/ 相当于js的模块,类库 DOM/BOM/JavaScript的类库 一.查找元素 jQuery 选择器 直接找到某个或者某个标签 ...

  3. mysql启动失败一例

    操作系统版本:Ubuntu 13.04 mysql 版本:mysql-server-5.5 现象:突然之前接到报告说数据库启不来了.第一时间查看硬盘空间,看是否硬盘满了.发现空间使用正常. root@ ...

  4. openSUSE搭建OpenVPN

    目录 openSUSE搭建OpenVPN 环境 安装openVPN服务端 安装easy-rsa工具 配置vars文件 创建服务端证书及key 创建客户端证书 疏理证书文件 服务端配置 启动openvp ...

  5. Spring系列(1)--IOC 和 DI

    IOC 和 DI IOC 原理 xml 配置文件配置 bean dom4j 读取配置文件 工厂设计模式 反射机制创建对象 applicationContext.xml 配置文件,该配置文件名可自定义: ...

  6. RD340服务器安装windows2003系统

    RD340服务器安装windows2003系统云修网

  7. python基础 - 变量与运算符

    变量与运算符 变量 定义一个变量 a = [1,2,3,4,5,6] print(a) # [1,2,3,4,5,6] 变量命名要求: 首字母不能是数字 只能包含字符数字下划线 不能是关键字 type ...

  8. 17秋 软件工程 团队第五次作业 Alpha 测试报告

    用户反馈博客:17秋 软件工程 团队第五次作业 Alpha 用户反馈 团队项目软件的总体测试计划 测试模块: 用户登录 部门信息模块 活动模块 部员管理模块 短信通知模块 测试计划: 注:测试结果Y代 ...

  9. St_geometry 初始用

    数据准备 点表 CREATE TABLE point_stgeom tablespace UBOSS_STS_WAREHOUSE as select car_number, longid, latid ...

  10. 洛谷 P1032 字串变换

    题目描述 已知有两个字串 A, B 及一组字串变换的规则(至多6个规则): A1 -> B1 A2 -> B2 规则的含义为:在 A$中的子串 A1 可以变换为 B1.A2 可以变换为 B ...