python3 基础 笔记记录-1

http://www.cnblogs.com/alex3714/articles/5465198.html    Python赶超PHP占据第五, Python崇尚优美、清晰、简单,是一个优秀并广泛使用的语言    Python可以应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。    目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、        Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。 1.目前Python主要应用领域:

云计算: 云计算最火的语言, 典型应用OpenStack    WEB开发: 众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, Dropbox, 豆瓣。。。, 典型WEB框架有Django    科学运算、人工智能: 典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas    系统运维: 运维人员必备语言    金融:量化交易,金融分析,在金融工程领域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛逼,生产效率远远高于c,c++,java,尤其擅长策略回测    图形GUI: PyQT, WxPython,TkInter 2.优点和缺点    优点:        1)Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂,初学者学Python,不但入门容易,而且将来深入下去,可以编写那些非常非常复杂的程序。        2)开发效率非常高,Python有非常强大的第三方库,基本上你想通过计算机实现任何功能,Python官方库里都有相应的模块进行支持,直接下载调用后,在基础库的基础上再进行开发,大大降低开发周期,避免重复造轮子。        3)高级语言————当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节        4)可移植性————由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工 作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就几乎可以在市场上所有的系统平台上运行        5)可扩展性————如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。        6)可嵌入性————你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。     缺点:        1)速度慢,Python 的运行速度相比C语言确实慢很多,跟JAVA相比也要慢一些,因此这也是很多所谓的大牛不屑于使用Python的主要原因,但其实这里所指的运行速度慢在大多数情况下用户是无法直接感知到的,必须借助测试工具才能体现出来,比如你用C运一个程序花了0.01s,用Python是0.1s,这样C语言直接比Python快了10倍,算是非常夸张了,但是你是无法直接通过肉眼感知的,因为一个正常人所能感知的时间最小单位是0.15-0.4s左右,哈哈。其实在大多数情况下Python已经完全可以满足你对程序速度的要求,除非你要写对速度要求极高的搜索引擎等,这种情况下,当然还是建议你用C去实现的。        2)代码不能加密,因为PYTHON是解释性语言,它的源码都是以名文形式存放的,不过我不认为这算是一个缺点,如果你的项目要求源代码必须是加密的,那你一开始就不应该用Python来去实现。        3)线程不能利用多CPU问题,这是Python被人诟病最多的一个缺点,GIL即全局解释器锁(Global Interpreter Lock),是计算机程序设计语言解释器用于同步线程的工具,使得任何时刻仅有一个线程在执行,Python的线程是操作系统的原生线程。在Linux上为pthread,在Windows上为Win thread,完全由操作系统调度线程的执行。一个python解释器进程内有一条主线程,以及多条用户程序的执行线程。即使在多核CPU平台上,由于GIL的存在,所以禁止多线程的并行执行。关于这个问题的折衷解决方法,我们在以后线程和进程章节里再进行详细探讨。

3.编码问题    python2 和python3 最大去区别    python3 默认支持 utf-8编码    python2 默认支持 ascii 编码,如果需要支持中文,则 需要 在文件开头增加一句  设置文件的编码格式   #_*_coding:utf-8_*_ 4.数据类型    1)数字            2 是一个整数的例子。            长整数 不过是大一些的整数。            3.23和52.3E-4是浮点数的例子。E标记表示10的幂。在这里,52.3E-4表示52.3 * 10-4。            (-5+4j)和(2.3-4.6j)是复数的例子,其中-5,4为实数,j为虚数,数学中表示复数是什么?。

int(整型)

  在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647          在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807        long(长整型)          跟C语言不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的大小,但实际上由于机器内存有限,我们使用的长整数数值不可能无限大。          注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。        float(浮点型)              先扫盲 http://www.cnblogs.com/alex3714/articles/5895848.html          浮点数用来处理实数,即带有小数的数字。类似于C语言中的double类型,占8个字节(64位),其中52位表示底,11位表示指数,剩下的一位表示符号。        complex(复数)          复数由实数部分和虚数部分组成,一般形式为x+yj,其中的x是复数的实数部分,y是复数的虚数部分,这里的x和y都是实数。        注:Python中存在小数字池:-5 ~ 257

2)布尔值      真或假      1 或 0    3)字符串    "hello world"    万恶的字符串拼接:      python中的字符串在C语言中体现为是一个字符数组,每次创建字符串时候需要在内存中开辟一块连续的空,并且一旦需要修改字符串的话,就需要再次开辟空间,万恶的+号每出现一次就会在内从中重新开辟一块空间。

字符串格式化输出        name = "alex"        print "i am %s " % name

#输出: i am alex        PS: 字符串是 %s;整数 %d;浮点数%f

字符串常用功能:        移除空白        分割        长度        索引        切片    4)列表        创建列表:        name_list = [‘alex‘, ‘seven‘, ‘eric‘]        或        name_list = list([‘alex‘, ‘seven‘, ‘eric‘])        基本操作:

索引        切片        追加        删除        长度        切片        循环        包含    5)元组(不可变列表)    创建元组:        ages = (11, 22, 33, 44, 55)        或        ages = tuple((11, 22, 33, 44, 55))

6)字典(无序)    创建字典:        person = {"name": "mr.wu", ‘age‘: 18}        或        person = dict({"name": "mr.wu", ‘age‘: 18})    常用操作:        索引        新增        删除        键、值、键值对        循环        长度

5.数据运算    按位取反运算规则(按位取反再加1)   详解http://blog.csdn.net/wenxinwukui234/article/details/42119265

6.表达式if ... else    场景一、用户登陆验证        # 提示输入用户名和密码

# 验证用户名和密码        #     如果错误,则输出用户名或密码错误        #     如果成功,则输出 欢迎,XXX!

#!/usr/bin/env python        # -*- coding: encoding -*-

import getpass

name = raw_input(‘请输入用户名:‘)        pwd = getpass.getpass(‘请输入密码:‘)

if name == "alex" and pwd == "cmd":            print("欢迎,alex!")        else:            print("用户名和密码错误")

场景二、猜年龄游戏        在程序里设定好你的年龄,然后启动程序让用户猜测,用户输入后,根据他的输入提示用户输入的是否正确,如果错误,提示是猜大了还是小了

#!/usr/bin/env python        # -*- coding: utf-8 -*-

my_age = 28

user_input = int(input("input your guess num:"))

if user_input == my_age:            print("Congratulations, you got it !")        elif user_input < my_age:            print("Oops,think bigger!")        else:            print("think smaller!")

外层变量,可以被内层代码使用    内层变量,不应被外层代码使用

7.表达式for loop

最简单的循环10次

#_*_coding:utf-8_*_    __author__ = ‘Alex Li‘

for i in range(10):        print("loop:", i )

需求一:还是上面的程序,但是遇到小于5的循环次数就不走了,直接跳入下一次循环        for i in range(10):            if i<5:                continue #不往下走了,直接进入下一次loop            print("loop:", i )

需求二:还是上面的程序,但是遇到大于5的循环次数就不走了,直接退出        for i in range(10):            if i>5:                break #不往下走了,直接跳出整个loop            print("loop:", i )

8.while loop      count = 0    while True:        print("你是风儿我是沙,缠缠绵绵到天涯...",count)        count +=1        if count == 100:            print("去你妈的风和沙,你们这些脱了裤子是人,穿上裤子是鬼的臭男人..")            break

回到上面for 循环的例子,如何实现让用户不断的猜年龄,但只给最多3次机会,再猜不对就退出程序。

#!/usr/bin/env python    # -*- coding: utf-8 -*-

my_age = 28

count = 0    while count < 3:        user_input = int(input("input your guess num:"))

if user_input == my_age:            print("Congratulations, you got it !")            break        elif user_input < my_age:            print("Oops,think bigger!")        else:            print("think smaller!")        count += 1 #每次loop 计数器+1    else:        print("猜这么多次都不对,你个笨蛋.")
时间: 2024-11-08 22:13:25

python3 基础 笔记记录-1的相关文章

python3 基础 笔记记录-3

http://www.cnblogs.com/alex3714/articles/5740985.html本节内容1. 函数基本语法及特性2. 参数与局部变量3. 返回值 嵌套函数4.递归5.匿名函数6.函数式编程介绍7.高阶函数8.内置函数 1.函数基本语法及特性 函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的,具体区别,我们后面会讲,编程中的函数在英文中也有很多不同的叫法.在BASIC中叫做subroutine(子过程或子程序),在Pascal中叫做procedur

python3 基础 笔记记录-2

http://www.cnblogs.com/alex3714/articles/5717620.html列表.元组操作字符串操作字典操作集合操作文件操作字符编码与转码 1.列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 names = ['Alex',"Tenglan",'Eric'] 通过下标访问列表中的元素,下标从0开始计数 >>> names[0] 'Alex' >>> name

python3基础笔记(六)模块与包

模块&包 模块(modue)的概念: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式.在Python中,一个.py文件就称之为一个模块(Module). 使用模块有什么好处? 最大的好处是大大提高了代码的可维护性. 其次,编写代码不必从零开始.当一个模块编写完毕,就可以被其他地方引用.我们在编写程序的时候,也经

我的LINUX基础笔记

Linux系统管理      1 Day   2014.5.23 su -name   切换用户passwd 密码   更改密码gnome-terminal    伪CLI   桌面终端程序1.查看内核版本uname -r    2.查看红帽系统版本cat /etc/redhat-rdlease3.查看LINUX标准分发版信息  lsb_release4.查看网卡的IP,MAX       ifconfig                       ifconfig eth 10.0.0.10

REDIS基础笔记

Redis基础笔记 资源链接 简介 简介 安装 五种数据类型及相应命令 1. 字符串类型 2. 散列类型 3. 列表类型 4. 集合类型 5. 有序集合 其他 事务 SORT 生存时间 任务队列 发布/订阅模式 Python中使用Redis 实际实例 管理 其他 资源链接 推荐书籍:<Redis入门指南> 资源列表: redis命令速查command | CMD索引-中文 | CMD树-中文 redis源码github 下载地址redis.io The Little Redis book 入口

php代码审计基础笔记

出处: 九零SEC连接:http://forum.90sec.org/forum.php?mod=viewthread&tid=8059 ---------------------------------------------------------- team:xdsec&90sec author:wilson blog:http://blog.wils0n.cn/ 文章链接:wilson's blog_php代码审计基础笔记[求人气~~] ----------------------

MYSQL基础笔记(四)-数据基本操作

数据操作 新增数据:两种方案. 1.方案一,给全表字段插入数据,不需要指定字段列表,要求数据的值出现的顺序必须与表中设计的字段出现的顺序一致.凡是非数值数据,到需要使用引号(建议使用单引号)包裹. 1 insert into 表名 values(值列表)[,(值列表)]: -- 可以一次性插入多条记录. 2.方案二,给部分字段插入数据,需要选定字段列表,字段列表出现的顺序与字段的顺序无关,但是值列表的顺序必须与选定字段的顺序一致. 1 insert into 表名 (字段列表) values (

Activiti 学习笔记记录(二)

上一篇:Activiti 学习笔记记录 导读:对于工作流引擎的使用,我们都知道,需要一个业务事件,比如请假,它会去走一个流程(提交申请->领导审批---(批,不批)---->结束),Activiti就是来走这个流程的.所以我们还需要将Activiti 和 业务结合起来,即部署定义(画一个流程图,生成 bpmn 格式的文件).本章,就来讲 bpmn 的图怎么画? 一.什么是 bpmn 业务流程建模标记法 BPMN (Business Process Model and Notation),是工作

妙味课堂——HTML+CSS基础笔记

妙味课堂的课程讲得非常的清楚,受益匪浅.先把HTML和CSS基础课程部分视频的学习笔记记录如下: padding #PS基础 ##前端需要的PS技能 - PS技能(前端需要):切图.修图.测量 - PS工具: - 移动工具 - 矩形选框工具 - 裁切工具 - 吸管工具 - 横排文字工具 - 手抓(快捷键:空格) - 缩放(快捷键:Ctrl + 和 Ctrl -) - 标尺(快捷键:Ctrl R,主要是拖出参考线.矩形区域选择的时候,按住Ctrl,就能贴合参考线) - 自由变换(快捷键 Ctrl