Python学习笔记 capture 1
最近开始学习Python3.x,真的感觉Python的语法与C++,Java有很大的不同,Python从某些方面来说语法更简单。Python作为一种解释性语言和编译型语言如C++来说,还是各有千秋的。不过本质来说,编译型语言,是一次编译,生成一个电脑可识别的机器码,到处运行,而解释型语言是解释一行,运行一行,或许从这方面来说,Python的运行时间要久于C++,但相对于人眼感知的时间来说,可忽略。事无绝对。Python作为一种高级编程语言,正在世界范围内变得越来越流行。
目前Python主要应用领域:
- 云计算: 云计算最火的语言, 典型应用OpenStack
- WEB开发: 众多优秀的WEB框架,众多大型网站均为Python开发,Youtube, Dropbox, 豆瓣。。。, 典型WEB框架有Django
- 科学运算、人工智能: 典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas
- 系统运维: 运维人员必备语言
- 金融:量化交易,金融分析,在金融工程领域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作为动态语言的Python,语言结构清晰简单,库丰富,成熟稳定,科学计算和统计分析都很牛逼,生产效率远远高于c,c++,java,尤其擅长策略回测
- 图形GUI: PyQT, WxPython,TkInter
Python在一些公司的应用:
- 谷歌:Google App Engine 、code.google.com 、Google earth 、谷歌爬虫、Google广告等项目都在大量使用Python开发
- CIA: 美国中情局网站就是用Python开发的
- NASA: 美国航天局(NASA)大量使用Python进行数据分析和运算
- YouTube:世界上最大的视频网站YouTube就是用Python开发的
- Dropbox:美国最大的在线云存储网站,全部用Python实现,每天网站处理10亿个文件的上传和下载
- Instagram:美国最大的图片分享社交网站,每天超过3千万张照片被分享,全部用python开发
- Facebook:大量的基础库均通过Python实现的
- Redhat: 世界上最流行的Linux发行版本中的yum包管理工具就是用python开发的
- 豆瓣: 公司几乎所有的业务均是通过Python开发的
- 知乎: 国内最大的问答社区,通过Python开发(国外Quora)
- 春雨医生:国内知名的在线医疗网站是用Python开发的
- 除上面之外,还有搜狐、金山、腾讯、盛大、网易、百度、阿里、淘宝 、土豆、新浪、果壳等公司都在使用Python完成各种各样的任务。Python
Python相对于C++来说,Python是强类型动态语言,C++是强类型静态语言(弱类型语言:一个变量可以被赋予不同类型的值),C++在编译时,各变量的类型已经设定好。不可更改,Python一个变量若需要改变可以通过强制类型转换,同时,类型变为转换后的类型。
PYTHON的优缺点
优点:
1.Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂。
2.开发效率非常高,Python有非常强大的第三方库,基本上你想通过计算机实现任何功能,Python官方库里都有相应的模块进行支持。
3.高级语言————当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节
4.可移植性————由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工 作在不同平台上)。
5.可扩展性————如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。
6.可嵌入性————你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。
缺点:
1.速度慢
2.代码不能加密
3.不能利用多线程CPU
好了,正题开始:
一个简单的Hello world!程序
print("Hello world!")
然后通过运行命令
python Hello.py
也可以在交互器中运行
D:\ACM>python
Python 3.6.2 (v3.6.2:5fd33b5, Jul 8 2017, 04:14:34) [MSC v.1900 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> print("Hello world!")
Hello world!
>>>
变量
变量命名规则
1.必须由数字,字母,下划线的任意组合去,且不能数字开头
2.不能是python的关键字
3.变量的定义要具有可描述性
推荐的两种命名方式:驼峰体,下划线
name="Ocean_Star"
print(name)
name_name=name
name="Ocean"
print(name,name_name)
常量
python中没有常量的概念,单位了增加常量的概念,程序员约定俗成变量名全部大写代表常量
Python3.x最直观的感觉可以直接支持中文
print("你好,世界")
相对于C++,Python的注释是不一样的
#注释单行
'''注释多行'''
用户交互
username=input("username:")
password=input("password:")
print(username,password)
同时,可以对输入密码进行加密,通过调用getpass模块
import getpass
username=input("username:")
password=getpass.getpass("password:")
print(username,password)
在C++注释中,多行注释不能被打印,但在Python中,多行注释可以被打印
#!/usr/bin/env python
#-*-coding:utf-8-*-
name=input("name:")
age=int(input("age:"))
#print(type(age))
job=input("job:")
salary=int(input("salary:"))
info='''
-----information of %s-----
Name:%s
Age:%d
Job:%s
Salary:%d
'''%(name,name,age,job,salary)
print(info)
info2='''
----- info of {_name} -----
Name:{_name}
Age:{_age}
Job:{_job}
Salary:{_salary}
'''.format(_name=name,_age=age,_job=job,_salary=salary)
print(info2)
info3='''
----- info of {0} -----
Name:{0}
Age:{1}
Job:{2}
Salary:{3}
'''.format(name,age,job,salary)
print(info3)
基本语法,if,else,elif,while,for
import getpass
_username='Ocean_Star'
_password='abc123'
username=input("username:")
password=getpass.getpass("password:")
if _username==username and _password==password :
print("Welcome user {name} login...".format(name=username))
else :
print("Invalid username or password!")
guess_number=56
count=0
while count<3:#while循环+else if判断
print("count:",count)
count+=1 #累加器
guess_number_run=int(input("guess_number_run:"))
if guess_number_run==guess_number :
print("yes,you got it.")
break
elif guess_number_run>guess_number :
print("think smaller...")
else :
print("think bigger...")
else :print("The chance is over.")
guess_number=56
count=0
guess_number_run=56
for i in range(3):
guess_number_run=int(input("guess_number_run:"))
if guess_number_run==guess_number :
print("yes,you got it.")
break
elif guess_number_run>guess_number :
print("think smaller...")
else :
print("think bigger...")
else :print("The chance is over")
for i in range(10):#0-9 步长为1
for i in range(1,10):#1-9 步长为1
for i in range(1,10,2):#1-9 步长为2
'''
注意,if elif else while for 后面都有":"
'''
Python的强大之处在于他有非常丰富和强大的标准库和第三方库,举个例子,os和sys
import sys
import os
print(sys.argv[2])
cmd_res=os.system("dir")#执行命令,不保存
cmd_res=os.popen("dir").read()
print(cmd_res)
os.mkdir("new_dir")
cmd_res=os.popen("dir").read()
print(cmd_res)
数据运算







bytes类型
bytes类型与string类型之间的转化
msg="你好,世界"#注意是byts与string的转化,不能整型之间的转化
print(msg)
print(msg.encode(encoding='utf-8'))
print(msg.encode(encoding='utf-8').decode(encoding="utf-8"))
三元运算符
'''
result = 值1 if 条件 else 值2
'''
a,b,c=1,3,5
d=a if a<b else c
f=a if a>b else c
print(d,f)
Python学习笔记 capture 1的更多相关文章
- python学习笔记整理——字典
python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...
- VS2013中Python学习笔记[Django Web的第一个网页]
前言 前面我简单介绍了Python的Hello World.看到有人问我搞搞Python的Web,一时兴起,就来试试看. 第一篇 VS2013中Python学习笔记[环境搭建] 简单介绍Python环 ...
- python学习笔记之module && package
个人总结: import module,module就是文件名,导入那个python文件 import package,package就是一个文件夹,导入的文件夹下有一个__init__.py的文件, ...
- python学习笔记(六)文件夹遍历,异常处理
python学习笔记(六) 文件夹遍历 1.递归遍历 import os allfile = [] def dirList(path): filelist = os.listdir(path) for ...
- python学习笔记--Django入门四 管理站点--二
接上一节 python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Autho ...
- python学习笔记--Django入门0 安装dangjo
经过这几天的折腾,经历了Django的各种报错,翻译的内容虽然不错,但是与实际的版本有差别,会出现各种奇葩的错误.现在终于找到了解决方法:查看英文原版内容:http://djangobook.com/ ...
- python学习笔记(一)元组,序列,字典
python学习笔记(一)元组,序列,字典
- Pythoner | 你像从前一样的Python学习笔记
Pythoner | 你像从前一样的Python学习笔记 Pythoner
- OpenCV之Python学习笔记
OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书< ...
随机推荐
- 什么是面向对象以及其意义,prototpye原型
什么是面向对象: 使用对象时,只关注对象提供的功能,不关注其内部的细节 例如:jquery 什么是对象: 对象是一个整体对外提供一些操作,比如 收音机 面向对象编程OOP的特点: 1.抽象:把主要的特 ...
- [置顶]
Docker学习总结(7)——云端基于Docker的微服务与持续交付实践
本文根据[2016 全球运维大会•深圳站]现场演讲嘉宾分享内容整理而成 讲师简介 易立 毕业于北京大学,获得学士学位和硕士学位:目前负责阿里云容器技术相关的产品的研发工作. 加入阿里之前,曾在IBM中 ...
- code vs 1216 跳马问题
1216 跳马问题 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 题目 输入描述 Input Descri ...
- BNUOJ34980方(芳)格(哥)取数(好坑)
方(芳)格(哥)取数 Time Limit: 3000ms Memory Limit: 65536KB 64-bit integer IO format: %lld Java class n ...
- SQLSever: 怎样在select中的每一行产生不同的随机数?
select 的随机函数有点假, 或许是由于它是基于时间来的吧, 同一select中由于时间无法错开导致产生的随机数都是一样的. 怎样做到让不同的行拥有不同的随机数呢? 以下以产生某个月的随机日期来演 ...
- iPad iOS8.0升级和Xcode 6.0.1公布了,附Xcode 6.0.1下载地址
今天上午把iPad mini升级到了iOS 8.0,升级提示须要6.7G空间,无奈仅仅好把一些大的App删掉腾冲空间,然后開始升级,3小时后最终升级成功了. 下午试着把我们的App通过xcode 5 ...
- java中多线程知识
参考:http://www.cnblogs.com/wxd0108/p/5479442. 引 如果对什么是线程.什么是进程仍存有疑惑,请先Google之,因为这两个概念不在本文的范围之内. 用多线程只 ...
- ubuntu16.04下snort的安装(官方文档安装)(图文详解)
不多说,直接上干货! 最近为了科研,需要安装和使用Snort. snort的官网 https://www.snort.org/ Snort作为一款优秀的开源主机入侵检测系统,在windows和Linu ...
- Java Web应用定制404错误页面
Http响应状态码404的含义是服务器端没有找到客户端请求的资源,定制404错误页面至少有以下两个好处: 1.向客户端隐藏服务器信息,服务器提供的默认404错误页面上一般都包含当前应用使用的是什么服务 ...
- UI Framework-1: Native Controls
Native Controls Background Despite the fact that views provides facilities for custom layout, render ...