python文件的扩展名为.py ,但是python GUI程序的扩展名为.pyw
在python中,注释以#开始,作用范围为该行
IDLE提供了三个关键功能:输入python表达式与代码,并在python shell中直接查看结果;代码编辑器,提供了python特定的彩色语法高亮显示功能与对代码缩排的支持;调试器,可用于单步跟进代码,识别并纠正其中存在的bug。
python的8个关键要素:
#1:数据类型
    python所能表示的整数大小只受限于机器内存,而非固定数量的字节数。
    字符串可以使用双引号或单引号封装。
    python使用方括号([])来存取字符串等序列中的某一项,并且适用于任意数据类型比如下面的例子
        >>>"Hard Times"[5]
        'T'
    如果想要将一个数据项从某种类型转换为另一种类型,可以使用语法datatype(item)
#2:对象引用
    在python中,“=”的作用是将对象引用与内存中的某对象进行绑定。如果对象引用已经存在,就简单的进行重绑定,以便引用“=”操作符右面的对象;如果对象引用尚未存在,就由“=”操作符创建对象引用。
    对象引用的命名限制:不能与任何python关键字相同;以字符或下划线开头,其后跟随0个或多个非空格字符、下划线或数字。
    python标识符大小写敏感。
#3:组合数据类型
    元组与列表可以存储任意数量、任意类型的数据项。元组是固定的,列表是可变的。
    元组与列表存储的是对象引用,而非对象本身。
    对于元组、列表以及字符串等数据类型而言,长度的度量是有意义的。
    对元组与列表的操作可以看笔记本的“列表,元组,字典”笔记,里面有详细记录。
#4:逻辑操作符
    python提供了4中逻辑运算。
    身份操作符:is操作符能够判断左右两边的对象引用是否指向同一个对象。
    比较操作符:<,<=,==,!=,>=,>
    成员操作符:操作符in测试成员关系
    逻辑操作符:and、or、not
#5:控制流语句:
    在python中,一块代码,也就是说一条或多条语句组成的序列,成为suite。关键字pass,实际上是一条空语句,不进行任何操作,可以用在需要suite但又不需要进行处理的地方。
    if语句
    while语句
    for...in语句,语法格式如下:
for variable in iterable:
    suite
    异常也是一个对象,语法格式如下:
try:
    try_suite
except exception1 as variable1:
    exception_suite1
...
except exceptionN as variableN:
    exception_suiteN
#6:算术操作符
    有+、-、*、/、+=、*=
    注意除法/,结果产生是浮点数。如果要产生一个整数值,可以用int()进行转换,或者使用剥离操作符//
    增强型赋值操作符注意两点:1.int型是固定的,一旦赋值,不能改变,因此,对固定对象使用增强的赋值操作符时,实际上是创建一个对象来存储结果,之后目标对象引用重新绑定。 2. a operator= b 与 a = a operator b并不完全一致,前者只查询一次a的值。
     列表+=操作符 右边的操作数必须是一个iterable。(iterable包括列表,字符串,数组等)
#7:输入/输出
    input()
    print()
#8:函数的创建与调用
    语法格式:
def functionName(arguments):
    suite
    使用函数之前必须先定义
    python模块实际上就是包含Python代码的.py文件,比如自定义函数与类(自定义数据类型)的定义,有时候还包括变量等。
#bigdigit.py
调用一个内置的sys模块,这个sys模块是内嵌在python之中,sys模块包含了与python解释器和它的环境有关的函数。
sys.argv函数可以传入参数,sys.argv[0]代表当前的模块。
#test.py
import sys
print(sys.argv[0])
print(sys.argv[1])

>>>python test.py 123
test.py
123
generate_grid.py
str = input(argv) 注意:argv为提示信息,不是输入的数;str才是输入的数
总结:
    今天做了课后习题的第一题之后,发现python的for语句和c,java的for语句很不相同,相比之下,强大许多。for variable in iterable 结构,variable遍历iterable的值,不仅仅用于计数。
None
None是一个特殊的常量
None和False不同
None不是0
None不是空字符串
None和任何其他数据类型比较永远返回False
None有自己的数据类型NoneType
你可以将None复制给任何变量,但是你不能创建其他NoneType对象
>>> type(None)
<class 'NoneType'>
>>> None == 0
False
>>> None == ''
False
>>> None == None
True
>>> None == False
False
is 和 ==
is判断两个对象是否相等(id)
==判断两个值是否相等(value)

python3程序开发指南——第1章 笔记的更多相关文章

  1. 一位老程序员说,有这份python3的开发指南,月薪能突破20K

    推荐视频: AI人工智能识别技术_第一节AI人工智能识别技术_第二节Python基础案例之教你如何查询对方IP_第一节Python基础案例之教你如何查询对方IP_第二节 有程序员说,这份python3 ...

  2. python 整型--《Python 3程序开发指南》笔记

    参考:<Python 3程序开发指南> 整数转换函数: bin(i) 返回整数i的二进制表示(字符串) hex(i) 返回i的十六进制表示(字符串) int(x) 将x转换为整数,失败产生 ...

  3. Knockout应用开发指南 第七章:Mapping插件

    原文:Knockout应用开发指南 第七章:Mapping插件 Mapping插件 Knockout设计成允许你使用任何JavaScript对象作为view model.必须view model的一些 ...

  4. Knockout应用开发指南 第六章:加载或保存JSON数据

    原文:Knockout应用开发指南 第六章:加载或保存JSON数据 加载或保存JSON数据 Knockout可以实现很复杂的客户端交互,但是几乎所有的web应用程序都要和服务器端交换数据(至少为了本地 ...

  5. Knockout应用开发指南 第四章:模板绑定

    原文:Knockout应用开发指南 第四章:模板绑定 模板绑定The template binding 目的 template绑定通过模板将数据render到页面.模板绑定对于构建嵌套结构的页面非常方 ...

  6. Knockout应用开发指南 第五章:创建自定义绑定

    原文:Knockout应用开发指南 第五章:创建自定义绑定 创建自定义绑定 你可以创建自己的自定义绑定 – 没有必要非要使用内嵌的绑定(像click,value等).你可以你封装复杂的逻辑或行为,自定 ...

  7. Knockout应用开发指南 第三章:绑定语法(3)

    原文:Knockout应用开发指南 第三章:绑定语法(3) 12   value 绑定 目的 value绑定是关联DOM元素的值到view model的属性上.主要是用在表单控件<input&g ...

  8. Knockout应用开发指南 第三章:绑定语法(2)

    原文:Knockout应用开发指南 第三章:绑定语法(2) 7   click 绑定 目的 click绑定在DOM元素上添加事件句柄以便元素被点击的时候执行定义的JavaScript 函数.大部分是用 ...

  9. Knockout应用开发指南 第三章:绑定语法(1)

    原文:Knockout应用开发指南 第三章:绑定语法(1) 第三章所有代码都需要启用KO的ko.applyBindings(viewModel);功能,才能使代码生效,为了节约篇幅,所有例子均省略了此 ...

随机推荐

  1. python学习笔记 Day4

    1.函数返回值分析 li = [1,2,3,4] li2 = [1,2,3,4] def f1(args): args.append(55) li = f1(li) print(li) f1(li2) ...

  2. 【x64软路由】OpenWrt(LEDE) 20200329编译 反追踪 抗污染 加速 PSW 无缝集成 UPnP NAS

    固件说明 基于Lede OpenWrt R2020.3.19版本(源码更新截止20200329)Lienol Feed及若干自行维护的软件包 结合家庭x86软路由场景需要定制 按照家庭应用场景对固件及 ...

  3. 【Scala】通过简洁代码搞明白伴生关系、主构造器和辅助构造器的关系

    /** * 主构造器直接定义在类名称的后面,参数列表和类名写在一起 * 主构造器的参数会自动提升为对象的属性,不需要在对象中重新定义一遍 */ class Student(val id: Int, n ...

  4. [hdu4436 str2int]后缀自动机SAM(或后缀数组SA)

    题意:给n个数字串,求它们的所有不包含前导0的不同子串的值之和 思路:把数字串拼接在一起,构造SAM,然后以每个状态的长度len作为特征值从小到大排序,从前往后处理每个状态,相当于按拓扑序在图上合并计 ...

  5. 内容安全策略(CSP)详解

    1.背景 1.1.同源策略 网站的安全模式源于"同源策略",web浏览器允许第一个web页面中的脚本访问页面中的数据,但前提是两个web页面具有相同的源.此策略防止一个页面的恶意脚 ...

  6. ThinkPad BIOS

    ThinkPad-BIOS    如有问题指出 ~谢谢

  7. Centos7下设置ceph 12.2.1 (luminous)dashboard UI监控功能

    前言 本文所使用的集群是作者在博客 Centos7下部署ceph 12.2.1 (luminous)集群及RBD使用  中所搭建的集群 dashboard是为了完成对集群状态进行UI监控所开发的功能, ...

  8. HttpServletRequest与HttpServletResponse

    一. 简介:每当客户端给Web服务器发送一个http请求,web服务器就会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象.request和respons ...

  9. 力扣题解-LCP 06. 拿硬币

    题目描述 桌上有 n 堆力扣币,每堆的数量保存在数组 coins 中.我们每次可以选择任意一堆,拿走其中的一枚或者两枚,求拿完所有力扣币的最少次数. 示例 1: 输入:[4,2,1] 输出:4 解释: ...

  10. .NET 程序员的 Playground :LINQPad

    如果想执行一个简单的 C# 语句并获得运行结果,通常我们需要做几个步骤才能达成: 打开 Visual Studio 并新建一个控制台项目. 在 Program.cs 中编写代码并保存. 点击运行按钮或 ...