一. 程序输入
-
字符串格式运算符 ( %) : 可实现字符串替换功能, 这一点和C语言中的printf()函数非常相似 . %s表示由一个字符串来替换 , 而%d表示由一个整数来替换, 另外一个很常用的就是%f , 它表示由一个浮点数来替换 .
-
input() : 它读取标准输入,并将读取到的数据复制给指定的变量. 你可以使用int() 函数将用户输入的字符串转换为整数.
-
help() : 想知道函数的使用方法,可以通过help()内置函数来获取.
-
核心风格 : 一直在函数外做用户交互操作 . 函数应该只接受参数,返回结果.从用户那里得到需要的数据,然后调用函数处理,从函数得到返回值,然后显示结果给用户. 这样你就能够在其他地方也可以使用你的函数而不必担心自定义输出的问题.
-
函数分类 : 一类只做事,不需要返回值. 另一类则执行一些运算,最后返回结果.
二 . 注释
- Python使用 "#" 号作为注释
三.运算符
-
标准算术运算符 : + , - , * , / , // , % , **
-
比较运算符 : < , <= , > , >= , == , !=
-
逻辑运算符 : and , or ,not
-
核心风格 : 合理使用括号增强代码的可读性, 在很多场合使用括号是一个好主意,而没用括号的话,会使程序得到错误结果, 或使代码可读性降低,引起阅读者困惑. 括号在Python语言中不是必须存在的,不过为了可读性,使用括号总是值得的. 任何维护你代码的人会感谢你. 在你再次阅读自己的代码时,你也会感谢你自己.
四. 变量和赋值
-
变量命名规则 : 字母开头 , 后面可以是数字,字母或者下划线.
-
Python是动态语言,也就是说不需要预先声明变量类型. 变量的类型和值在赋值那一刻被初始化. 变量赋值通过等号来执行 .
-
增量赋值 : 也就是运算符和等号合并在一起 . n = n + 1 . 改成增量赋值就是 n+=1
-
Python不支持自增操作 , 这是因为 + 和 - 也是单目运算符 , Python会将 --n 解释为-(- n) ,同样++n 的结果也是n
五. 数字
-
Python3支持四中基本数字类型, 其中有三种是整数类型
-
int : 有符号整数
-
bool : 布尔值 , 特殊的整数 . 尽管布尔值由常量True 和 False 来表示, 如果将布尔值放到一个数值上下文环境中(比方将True与一个数字相加) , True会被当成整数值1 , 而False则会被当成整数值 0 . 复数(包括-1的平方根,即所谓的虚数)在其他语言中通常不被直接支持(一般通过类来实现).
-
float : 浮点值
-
complex : 复数
六.字符串
-
Python中字符串被定义为引号之间的字符集合.Python支持使用成对的单引号或双引号,三引号(三个连续的单引号或双引号) 可以用来包含特殊字符 . 使用索引运算符 [] 和切片运算符 [:] 可以得到子字符串. 字符串有其特殊的索引规则 : 第一个字符的索引是 0 , 最后一个字符的索引是 -1 .
-
- 号 是用于字符串链接运算 . * 好则用于字符串重复 .
七. 列表和元组
-
可以将列表和元组当成普通的"数组" , 它能保存任意数量任意类型的Python对象. 和数组一样, 通过 0 开始的数字索引访问元素, 但是列表和元组可以存储不同类型的对象.
-
列表和元组区别 : 列表使用中括号 [] 包裹 . 元素的个数及元素的值可以改变. 元组元素用小括号 () 包裹,不可以更改(尽管他们的内容可以) . 元组可以看成是只读的列表. 通过切片运算符[:]可以得到子集 .
八. 字典
- 字典是Python中的映射数据类型, 工作原理类型Perl中的关联数组或者哈希表, 由key-value对构成. 几乎所有类型的Python对象都可以用作键(只有不可变类型才能当做key) ,不过一般还是以数字或字符串最常用. 值可以是任意类型的Python对象 .
九.for循环和range()内建函数
-
Python中的for循环更像shell里的foreach迭代. Python中的for接受可迭代对象(例如序列或迭代器) 作为参数,每次迭代器中一个元素.
-
Python提供range()内建函数接受一个数值范围,生成一个列表.
-
这些循环有一个约束, 你要不循环索引,要么循环元素,这导致了enumerate() 函数的推出 . 它可以同时做到这两点.
-
列表解析 : [x for x in range(10)] , 具体详细百度 .
十.文件和内建函数open(),file()
-
handle = open(file_name,access_mode = 'r') : file_name 变量包含我们希望打开的文件的字符串名字 , access_mode 中 'r' 表示读取, 'w' 表示写入 ,'a' 表示添加 . 其他可能用到的标识还有 "+" 表示读写 , 'b'表示二进制访问 . 如果未提供access_mode ,默认值为 'r' . 如果open() 成功 . 一个文件对象句柄会被返回. 所有的后续文件操作都必须通过此文件句柄进行. 当一个文件对象返回后,我们就可以访问它的一些方法.
-
核心笔记 : 什么是属性? 属性是与数据有关的项目,属性可以是简单的数据值,也可以是可执行对象,比如函数和方法.哪些对象拥有属性呢 ? 很多, 类,模块,文件还有复数等等对象都拥有属性.
-
file() 功能等同于open()
十一.错误和异常
-
编译时会检查语法错误,不过Python也允许程序运行时检测错误. 当检测到一个错误,Python解释器就会引发一个异常.,并显示异常的详细信息 .
-
要给你的代码添加错误检测以及异常处理,只要将他们封装在try-except语句当中. try之后的代码组,就是你打算管理的代码. except之后的代码组,则是你处理错误的代码.
十二.函数
-
类似其他语言Python中函数使用小括号调用. 函数在调用之前必须先定义. 如果函数中没有return语句,就会自动返回None对象.
-
Python是通过引用调用的.这意味着函数内对参数的改变会影响到原始对象. 不过事实上只有可变对象会受此影响,与不可变对象来说,他的行为类似按值调用.
十三.类
- 类是面向对象编程的核心,它扮演相关数据及逻辑的容器角色.他们提供了创建"真实"对象(也就是实例)的蓝图.因为Python并不强求你以面向对象的方式编程(与Java不同) .
十四.模块
-
模块是一种组织形式,它将彼此有关系的Python代码组织到一个个独立文件当中. 模块可以包含可执行代码,函数和类. 或者这些东西的组合.
-
当你创建了一个Python源文件,模块的名字就是不带.py后缀的文件名. 一个模块创建之后,你可以从另一个模块中使用import 语句导入这个模块来使用.
-
核心笔记 : 什么是PEP ? 你会经常看到PEP这个字眼. 一个PEP就是一个Python增强提案 .