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. 解决Vue中文本输入框v-model双向绑定后数据不显示的问题

    前言 项目中遇到一个问题就是在Vue中双向绑定对象属性时,手动赋值属性后输入框的数据不实时更新的问题. <FormItem label="地址" prop="eve ...

  2. 如何对Code Review的评论进行分级

    我曾写过一篇关于Code Review的文章<Code Review 最佳实践>,在文章中建议对Code Review的评论进行分级: 建议可以对Review的评论进行分级,不同级别的结果 ...

  3. turtle库应用实例2-六芒星的绘制

    六芒星的绘制 ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪ ...

  4. CTF-Reverse-[GXYCTF2019]luck_guy

    CTF-Reverse-[GXYCTF2019]luck_guy 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢!本文仅用于学习与 ...

  5. SwiftUI - 一起来仿写微信APP之一首页列表视图

    简介 最近在学习 SwiftUI ,我一般都是先去学习界面布局,所以就想着仿写一下经常使用的软件的界面,所以先拿微信开刀.因为不想一次性发太多的内容,所以只好将主题分解,一部分一部分地去讲,接下来我们 ...

  6. Spring全家桶之springMVC(二)

    spring mvc中url-pattern的写法 1.设置url-pattern为*.do 之前我们在web.xml文件中配置DispatcherServlet的时候,将url-pattern配置为 ...

  7. bcdedit 替代easybcd 编辑grub

    bcdedit这个命令是win7下,继续安装xubuntu时遇到的.当时xubuntu的语言设置为en-us,时区改为HK,可是仍有很多不太适应的地方.于是,删了xubuntu,重装它.同时,grub ...

  8. 基于 abp vNext 和 .NET Core 开发博客项目 - 数据访问和代码优先

    上一篇文章(https://www.cnblogs.com/meowv/p/12909558.html)完善了项目中的代码,接入了Swagger.本篇主要使用Entity Framework Core ...

  9. 对CSS3中的transform:Matrix()矩阵的一些理解

    只要有CSS基础的人肯定都知道,我们可以通过transform中的translate,scale,rotate,skew这些方法来控制元素的平移,缩放,旋转,斜切,其实这些方法呢都是为了便于开发者使用 ...

  10. 贝叶斯优化(Bayesian Optimization)只需要看这一篇就够了,算法到python实现

    贝叶斯优化 (BayesianOptimization) 1 问题提出 神经网咯是有许多超参数决定的,例如网络深度,学习率,正则等等.如何寻找最好的超参数组合,是一个老人靠经验,新人靠运气的任务. 穷 ...