VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 3363|回复: 2

[分享] python核心编程--笔记1

[复制链接]
46_avatar_middle
最佳答案
0 
在线会员 发表于 2020-12-18 00:42:45 | 显示全部楼层 |阅读模式
解释器options:
1.1 –d   提供调试输出
1.2 –O   生成优化的字节码(生成.pyo文件)
1.3 –S   不导入site模块以在启动时查找python路径
1.4 –v   冗余输出(导入语句详细追踪)
1.5 –m mod 将一个模块以脚本形式运行
1.6 –Q opt 除法选项(参阅文档)
1.7 –c cmd 运行以命令行字符串心事提交的python脚本
1.8 file   以给定的文件运行python脚本
2 _在解释器中表示最后一个表达式的值.
3 print支持类c的printf格式化输出: print “%s is number %d!” % (“python”, 1)
4 print的输入内容后面加逗号, 就会使其输入不换行
5 把输出重定向到日志文件:
logfile = open(“c:/1.log”, “a”);   //打开文件c:/1.log使用a模式..即add, 添加.
print >> logfile, “Fatal error: invalid input!”;   >>为重定向..将print的结果重定向到logfile, 输出内容是”Fatal error: invalid input!”…
logfile.close();  //关闭文件流…
6 程序输入: raw_input(“提示字符串”): user = raw_input(“请输入您的姓名”);
7 int(数值)…..将数值字符串转换成整数值…
8 运算符:
8.1 + - * / %是和其他语言相同的加减乘及取模运算.取余运算
8.2 / 在浮点取模中得到的结果是完整的浮点数
8.3 // 在浮点取模中得到的结果是经过舍去运算的结果.
8.4 ** 是乘方
8.5 >>和<<的移位运算也支持. 但不支持java中的>>> 和<<< 移位.
8.6 < <= > >= ++ != <> 等比较运算符
8.7 and or not 等逻辑运算符
9 变量和赋值: python是弱类型语言..
10 list, tuple, map * 4 得到的结果是一个新的 list | tuple | map, 是原数据的4份
11 数字:
11.1 int(有符号整数)
11.2 long(长整数)
11.3 bool(布尔值)
11.4 float(浮点值)
11.5 complex(复数)
11.6 python2.3开始, 如果结果从int溢出, 会自动转型为long
11.7 python2.4开始支持decimal数字类型, 需要导入decimal模块..由于在二进制表示中会有一个无限循环片段, 普通的浮点1.1实际是不能被精确表示的, 被表示为1.1000000000000001. 使用print decimal.Decimal(‘1.1’);则可以得到精确的1.1
12 字符串:  引号之间的字符集合, 支持使用成对的单引号和双引号, 三引号(三个连续单引号或双引号)可以用来包含特殊字符.  使用索引运算符[]和切片运算符[ : ]可以得到子字符串…字符串中第一个字符的索引是0, 最后一个字符的索引是-1;
13 列表和元组: 可以看作是普通的数组, 能保存任意数量任意类型的python对象…
13.1 列表元素用中括号包裹, 元素的个数及元素的值可以改变.
13.2 元组元素用小括号包裹, 不可以更改, 尽管他们的内容可以, 元组可以看成是只读的列表.  可以使用切片运算得到子集.
14 字典: 相当于其他语言中的map, 使用{key: value}的方式表示. 取值的方式和其他语言的map一致.  也可以直接使用map[key] = value的方式为其赋值.





15 条件语句:
if expression:
         path 1
elif expression2:
         path2
else:
         path3
16 while循环
while expression:
         process business
17 for循环
for item in list|tuple|map:
         print item
17.1 range(len(list))得到一个list长度范围内的整数list, 方便遍历过程中获取索引值.
17.2 python2.3中增加了enumerate(), 可以通过它遍历list, 同时得到索引和值
for index, data in enumerate(list):
         print index, “:”, data,
17.3 列表解析:
[expression for target1 in iterable1 [if condition1]
   for target1 in iterable2 [if condition2]
   for target1 in iterable3 [if condition3]
   for target1 in iterable4 [if condition4]
   ... .... ... .... ... ... ... ... ... ... ... ... ... ... .
  for targetN in iterableN [if conditionN]]
1、列表解析的语法是借鉴函数式编程语言Haskell。
2、列表解析的语法形式:
表达式+for循环+in+可迭代的对象
[表达式 for item in iterable]
实例:[x*2 for x in xrange(10)]
>>> [x*2 for x in xrange(10)]
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
3、列表解析的拓展形式:结合if语言
[表达式 for item in iterable if 条件表达式]
实例:
>>> [x*2 for x in xrange(10) if x % 2 != 0]
[2, 6, 10, 14, 18]
sqdEvens = [x ** 2 for x in range(8) if not x % 2], 获取一个序列, 该序列是0-8的数字中所有x%2为0(false)的x的平方
18 文件和内建函数: open(), file()
18.1 handle = open(file_name, access_mode = “r”), 只读方式打开文件, 得到的句柄是handle..该方法如果没有提供access_mode, 默认是r
19 异常处理: raise可以故意引发异常
try:
         # process
except IOError, e:
         # error process
20 函数: 如果函数中没有return语句, 自动返回None对象
def function_name([arguments]):
         “optional document string”
         function_suite
20.1 python的函数调用中参数是引用传递
20.2 可以在定义函数的时候, 在参数列表中通过=设置参数的默认值.
21 类:
21.1 定义:
class class_name:
         static_variable_name = value
         def __init__(self, [arguments]):
                   //operation
                   //self in here is the reference for this class instance
         def general_method_name(self, [arguments]):
                   //operation
                   //self is the class instance
                   //if you want to use class variable, please use like self.__class__.__name__
21.2 实例化: instance = class_name([arguments, …]);
22 模块: 不带.py后缀名的文件名…一个模块创建之后, 可以使用import导入这个模块使用.
22.1 访问模块内的函数或变量: module_name.function() | module_name.variable | module_name.class_name
22.2 sys模块概览
22.2.1 sys.stdout.write(‘Hello World!\n’)  //使用sys模块的标准输出
22.2.2 sys.platform  //返回系统的标记
22.2.3 sys.version  //返回系统的版本
23 PEP: 一个PEP就是一个python增强提案(python enhancement proposal), 是在新版python中增加新特性的方式…索引网址是: http://python.org/dev/peps
24 一些常用函数
24.1 dir([obj])  显示对象的属性, 如果没有提供参数, 显示全局变量的名字
24.2 help([obj])  显示对象的文档, 如果没有参数, 进入交互式帮助
24.3 int(obj)  将一个对象转换为整数
24.4 len(obj)  返回对象的长度
24.5 open(file_name, mode)  以mode(r|w|a…)方式打开一个文件
24.6 range([[start, ]stop[, step]])  返回一个整数列表…结束值是stop-1, step默认是1
24.7 raw_input(str)  提示str等待用户输入
24.8 str(obj)  将一个对象转换为字符串
24.9 type(obj)  返回对象的类型…返回值本身是一个type对象
24.10 sum(iterable[, start=0])  可以对纯数值的list|tuple|map进行求和操作..
24.11 dir([object])  如果没有参数获得当前脚本scope内定义的对象, 如果有参数, 返回该对象内部定义的对象, 如果该对象有一个__dir__方法, 该方法将被调用, 并且必须返回属性的列表…这就允许通过自定义__getattr__()或__getattribute__()方法的方式实现dir的自定义显示属性列 表….如果没有指定参数, 是根据该对象的__dict__内存字典的最佳聚合信息显示的..
24.12 type([object])  参数为空显示<type ‘type’>, 参数不为空显示该对象的类型
24.13 type(name, bases, dict)  通过名称, 基类, 内存字典动态创建一个类型
24.14 object__name.__doc__  查看该对象的文档字符串
24.15 __doc__ 对象的文档字符串, 该文档字符串在定义对象时写在对象语句块中第一句, 使用单纯的字符串的方式表示
24.16 sys.exit()  退出python解释器
24.17 append(Object)  给list添加一个元素
24.18 os.linesep 返回的是系统换行符…不同的系统换行符是不同的, 使用linesep可以提高代码跨平台性
24.19 string_variable_name.strip([chars])  脱离, 滤去字符串中的某些字符, 如果没有参数返回原字符串
25 数值按进制分为:25.1 二进制: 0b10101025.2 八进制: 0716725.3 十进制: 9876725.4 十六进制: 0xf2134




上一篇:CTrueColorToolBar类在VC++2010 中编译出现错误的解决办法
下一篇:windows内核安全就业前景
75_avatar_middle
最佳答案
23 
online_supermod 发表于 2021-1-7 11:51:51 | 显示全部楼层
小老弟 怎么断更了,  赶快回来更新啊
77_avatar_middle
最佳答案
0 
在线会员 发表于 2021-2-4 21:57:44 | 显示全部楼层
学习了!!
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号-4 )|网站地图wx_jqr

GMT+8, 2023-9-29 16:27

Powered by CcTry.CoM

© 2009-2021 cctry.com

快速回复 返回顶部 返回列表