《简明 Python 教程》笔记
基础
字符串:python 中字符串可以用单引号、双引号和三个引号括起来,其中三个引号可以用来指定多行的字符串。
print('hello'* 3)
连续打印 3 个 hello格式化:print 方法默认是换行的,可以通过 end 指定其应以空白结尾:print('a', end='')
name = 'Tom'
print('my name is {0}'.format(name))
print('my name is {}'.format(name)) #可以去掉占位符中的数字
print('my name is {name}'.format(name='Tom'))
- 缩进:Python 中语句块是通过缩进来区别的,所以同一语句块里的代码必须拥有相同的缩进。
流程控制语句
- 流程控制语句类似于 C#的写法,但要注意缩进,以及 if 等语句结尾处要加上冒号。
- while 和 for 语句后可以用 else 语句。
- for 的用法类似于 C#中的 foreach,只是 python 中的 for 不需要加括号。
number=1
if number>1:
print('a')
elif number==1:
print('b')
else:
print('c')
函数
- 定义函数是用关键字 def,另外函数名称后记得要加冒号;默认参数值、关键字参数跟 C#一样。
- python 中作用域跟 C#中一样,属于块级作用域
def sayHello(name='John'):
print('hello,'+name)
sayHello('Tom')
- 可变参数:在参数前加星号。(加一个星号和两个星号的区别:加两个星号的参数类型为字典)
def total(a=5, *numbers, **phonebook):
print('a', a)
#遍历元组中的所有项目
for single_item in numbers:
print('single_item', single_item)
#遍历字典中的所有项目
for first_part, second_part in phonebook.items():
print(first_part,second_part)
print(total(10,1,2,3,Jack=1123,John=2231,Inge=1560))
- 每个函数后面都隐含了一句 return None,这类似于 js。
模块
- 以.py的文件就相当于是一个模块。
- 调用内置的 dir()函数可以返回该对象中所定义的名称列表,如果该对象是一个模块,则该列表会包括函数内所定义的函数、类与变量。该函数接受参数,如果没有提供参数,就返回当前模块的名称列表。
- 包(Packages):包是指一个包含模块与一个特殊的__init__.py 文件的文件夹。
数据结构
- Python 中有四种内置的数据结构——列表(List)、元组(Tuple)、字典(Dictionary)和集合(Set)。
列表(List)
- 类似于C#中的数组用中括号括起来。查看列表长度用内置的len()函数,这跟C#不同。
如:shoplist = ['apple', 'mango', 'carrot', 'banana']
元组(Tuple)
- 与C#中的元组类似,声明后数值不可修改。python中声明元组推荐用括号括起来,但括号不是必须的。如:zoo = ('python', 'elephant', 'penguin')
- 一个空的元组由一对圆括号构成,如:myempty = (),但是只包含一个元素的元组,必须在第一个元素后加一个逗号,如:singleton = (2, )
字典(Dictionary)
- 就是一个JSON对象,如:d = {key : value1 , key2 : value2}
集合(Set)
- bri = set(['brazil', 'russia', 'india'])
面向对象编程
类
- 使用class来声明.
- 类中的方法需加参数self
- __ init__ 方法 类似于C#中的构造函数
- 所有类成员都是公开的,如果要使其成为私有,须在名称前加双下划线作为前缀,如:__privatevar
- 类变量相当于C#中的静态变量,它是共享的,对象变量是不共享的。
- 类方法相当于C#中的静态方法,python中需要用@classmethod来标识。
class Person:
def __init__(self, name):
self.name = name
def say_hi(self):
print('Hello, my name is', self.name)
p = Person('Swaroop')
p.say_hi()
继承
- 在类名后跟一个包含基类名称的元组;使用多重继承时,只需使用包括多个父类的元组。
- 子类中定义了__init__ 方法时,Python 不会自动调用基类 SchoolMember 的构造函数,你必须自己显式地调用它。
class SchoolMember:
def __init__(self, name, age):
self.name = name
self.age = age
print('(Initialized SchoolMember: {})'.format(self.name))
def tell(self):
print('Name:"{}" Age:"{}"'.format(self.name, self.age), end=" ")
class Teacher(SchoolMember):
def __init__(self, name, age, salary):
SchoolMember.__init__(self, name, age)
self.salary = salary
print('(Initialized Teacher: {})'.format(self.name))
def tell(self):
SchoolMember.tell(self)
print('Salary: "{:d}"'.format(self.salary))
class Student(SchoolMember):
def __init__(self, name, age, marks):
SchoolMember.__init__(self, name, age)
self.marks = marks
print('(Initialized Student: {})'.format(self.name))
def tell(self):
SchoolMember.tell(self)
print('Marks: "{:d}"'.format(self.marks))
t = Teacher('Mrs. Shrividya', 40, 30000)
s = Student('Swaroop', 25, 75)
print()
members = [t, s]
for member in members:
member.tell()
输入与输出
- Pickle 的标准模块:通过它你可以将任何纯 Python 对象存储到一个文件中,并在稍后将其取回。这叫作持久地(Persistently)存储对象。
《简明 Python 教程》笔记的更多相关文章
- HTML+CSS笔记 CSS笔记集合
HTML+CSS笔记 表格,超链接,图片,表单 涉及内容:表格,超链接,图片,表单 HTML+CSS笔记 CSS入门 涉及内容:简介,优势,语法说明,代码注释,CSS样式位置,不同样式优先级,选择器, ...
- CSS笔记--选择器
CSS笔记--选择器 mate的使用 <meta charset="UTF-8"> <title>Document</title> <me ...
- HTML+CSS笔记 CSS中级 一些小技巧
水平居中 行内元素的水平居中 </a></li> <li><a href="#">2</a></li> &l ...
- HTML+CSS笔记 CSS中级 颜色&长度值
颜色值 在网页中的颜色设置是非常重要,有字体颜色(color).背景颜色(background-color).边框颜色(border)等,设置颜色的方法也有很多种: 1.英文命令颜色 语法: p{co ...
- HTML+CSS笔记 CSS中级 缩写入门
盒子模型代码简写 回忆盒模型时外边距(margin).内边距(padding)和边框(border)设置上下左右四个方向的边距是按照顺时针方向设置的:上右下左. 语法: margin:10px 15p ...
- HTML+CSS笔记 CSS进阶再续
CSS的布局模型 清楚了CSS 盒模型的基本概念. 盒模型类型, 我们就可以深入探讨网页布局的基本模型了.布局模型与盒模型一样都是 CSS 最基本. 最核心的概念. 但布局模型是建立在盒模型基础之上, ...
- HTML+CSS笔记 CSS进阶续集
元素分类 在CSS中,html中的标签元素大体被分为三种不同的类型:块状元素.内联元素(又叫行内元素)和内联块状元素. 常用的块状元素有: <div>.<p>.<h1&g ...
- HTML+CSS笔记 CSS进阶
文字排版 字体 我们可以使用css样式为网页中的文字设置字体.字号.颜色等样式属性. 语法: body{font-family:"宋体";} 这里注意不要设置不常用的字体,因为如果 ...
- HTML+CSS笔记 CSS入门续集
继承 CSS的某些样式是具有继承性的,那么什么是继承呢?继承是一种规则,它允许样式不仅应用于某个特定html标签元素,而且应用于其后代(标签). 语法: p{color:red;} <p> ...
- HTML+CSS笔记 CSS入门
简介: </span>年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的<span>脚本解释程序</span>,作为ABC语言的一种继承. & ...
随机推荐
- TCP打开文件传输(客户端code)
#include <stdio.h>#include <stdlib.h>#include <arpa/inet.h>#include <sys/types. ...
- 理解了这些词句涵义用法等,你就熟练ES6了。
let const 块级作用于 暂时性死区 解构赋值:变量的解构赋值.对象的解构赋值.字符串的解构赋值.数值和布尔值的解构赋值. String的扩展 正则表达式的扩展 Number的扩展 Array的 ...
- yii widget使用的3个用法
yii视图中使用的widget方式总结:常用的有3种方式:一.显示详细信息: $this->widget('zii.widgets.CDetailView', array( 'data' =&g ...
- bzoj2822[AHOI2012]树屋阶梯(卡特兰数)
2822: [AHOI2012]树屋阶梯 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 879 Solved: 513[Submit][Status] ...
- python-day2 切片,格式化输出,函数
1.切片:取元素 格式;变量名[M:N:K] M 表示开始元素索引值, N 表示结束元素索引值(不包含索引值本身) K 表示步长,隔几个切一次 例子:a='hello python' p ...
- Python可迭代序列排序总结
列表排序 示例:lst = [12, 6, 1, 3, 10] 方法一:使用sort def list_sort(lst): lst.sort() # 就地排序,没有返回值 return lst 补充 ...
- java编译器和java解释器、JVM
作用: JVM:JVM有自己完善的硬件架构,如处理器.堆栈(Stack).寄存器等,还具有相应的指令系统(字节码就是一种指令格式).JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需要生成 ...
- Visual C++ 6.0的界面介绍
双击Visual C++ 6.0安装目录下的文件启动Visual C++ 6.0,通过“文件”→“新建”可新建一个Win32 Console Application项目.创建好项目后,显示Visu ...
- LINQ to Entities 不识别方法“System.Nullable`1[System.Int32] DiffDays(System.Nullable`1[System.DateTime], System.Nullable`1[System.DateTime])”,因此该方法无法转换为存储表达式。
解决方案: db.table.Where(m=>System.Data.Objects.EntityFunctions.DiffDays(m.CreateTime, DateTime.Now) ...
- Arduino控制继电器模块
一.实物图 二.例子代码 每隔5s切换断开 接通状态