第一天-python基础
每一个今天的坚持都会改变明天的自己!
一.python介绍
python是一门由解释型、弱类型的高级开发编程语言,由龟叔于1989圣诞开发出,后经过二十多年的发展,因其简洁高效的特点而被广泛使用,在世界编程语言排行榜中也逐渐上升,到现在已进入前三。
Python广泛运用于众多领域,如:数据分析、组件集成、⽹网络服务、图像处理理、数值计算 和科学计算等众多领域。⽬目前业内⼏几乎所有⼤大中型互联⽹网企业都在使⽤用Python,如: Youtube、Dropbox、BT、Quora(中国知乎)、⾖豆瓣、知乎、Google、Yahoo!、 Facebook、NASA、百度、腾讯、汽⻋车之家、美团等。
现在主要应用领域有:云计算、web开发、科学运算、人工智能、系统运维、金融分析等。
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完成各种各样的任务。
1.1Python的优缺点
先看优点
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的存在,所以禁⽌多线程的并⾏执⾏。关于这个问题的折衷解决在以后的线程和进程会有详细探讨。
1.2.Python解释器
编写python时我们得到的时一个包含python代码的.py文件,要运行代码,需要用到python解释器去执行.py文件。
CPyton:广泛使用的C语言开发的官方解释器,安装好python2.x/3.x后在命令行运行python就可以启动。
IPython:基于CPython之上的交互式解释器,IPython只是在交互方式上有所增强,执⾏Python代码
的功能和CPython是一样的。CPython⽤>>>作为提示符,⽽IPython⽤In [序号]:作为提示符。
PyPy:PyPy是另⼀Python解释器,它的⽬标是执行速度。PyPy采⽤JIT技术,对Python代 码进⾏动态编译(注意不不是解释),可以显著提⾼Python代码的执⾏速度。
Jython: Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。
IronPython:IronPython和Jython类似,只不过IronPython是运⾏在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。
二、Python的安装
官网下载3.x一路确定即可,记得左下角path打钩。
三、第一个Python程序
python程序两种编程方式:
1.进入cmd控制台,输入python进入编辑模式,可在这里直接编写python程序。
2.也可先在.py文件中编辑好python代码,通过python命令来执行代码。
输出“hello,world!”:
print("hello,world")
需注意:1.标点符号英文
2.格式utf-8(python2中文编码乱码,若有用到必须替换成utf-8 )
四、变量和常量
变量:把程序运行过程中产生的值暂存到内存,以便后续程序调用。
变量命名规则:
1.变量必须由数字、字母、下划线组成。
2.开头不能是数字,也不可全是数字。
3.不能是python关键字。
4.命名要有意义。
5.不要用中文命名。
6.不能太长。
7.区分大小写。
推荐使用驼峰体和下划线命名
驼峰体:单词首字母大写
下划线:每个单词之间用下划线分开
常量:在python中不存在绝对的常量,约定俗成,所有大写字母就是常量 如PI=3.141592653 等
五、注释
单行注释: #被注释的内容
多行注释: '''被注释的内容''',"""三个双引号也是多行注释"""
六、基本数据类型
1.整数(int)
操作+,-,*,/,%(取余),//(整除)
2.字符串(str)
由 ' ,",''',""" 组成(英文状态下的单/双引号) 操作:+(拼接) *(重复) 如:
s="周杰伦"
print("王力宏"+"喜欢"+"唱歌"+s+"也喜欢")
重复即: print("王力宏"*20) #重复xx次
注意:
2.1.变量与字符串区别,如:直接print(a) 输出的是变量,而print("a") 输出字符串 a
2.2.字符串不能和数字相加,需转换数据类型再相加 如:直接print("张杰"+a) 提示错误,当转换类型 后无误输出。
类型转换: str() 转换成字符串 int() 转换成整数
3.布尔值(bool)
真或假,True和False 一般用来做条件判断,True和false是关键字
判断数据类型: 如
a=20
print(type(a)) #type类型 运行显示"class 'int'"
七、用户交互(input)
变量 = input("提示语"),如:
a = input("你喜欢的明星是?")
#程序到这里暂停,等待用户输入变量值
print(a)
八、if语句
#三种语法和一个嵌套
'''
第一种
if 条件:
结果1 #注意这里缩进tab,满足上面的条件即为结果1
结果2 #其他情况结果2
如:
'''
print("只有男卫生间,想上厕所请输入性别")
gender=input("请输入性别:")
if gender == "男": # = 赋值 == 判断
print("可以上厕所!")
print("滚去上课~")
'''
第二种
执行流程:判断条件是否为真。如果真,则执行if-语句块,否则, 执行else的语句块
if 条件:
结果1
else:
结果2 如:
'''
money=input("请输入你的钱")
if int(money) > 1000: #这里注意字符串转换后才可比较
print("请大家吃饭")
else:
print("大家请我吃法")
'''
第三种:
if 条件1:
结果1
elif 条件2:
结果2
...
else:
结果n if语句只会选择一条路走。 有一个条件成立。 其他的就不再进行判断了. 如:
'''
money=input("请输入你的钱:")
if int(money)>1000:
print("请大家吃烧烤")
elif int(money)>800:
print("请大家吃自助")
elif int(money)>500:
print("请大家吃拉面")
else:
print("大家请我吃饭")
'''
第四种 if 条件1:
结果1
if 条件2:
结果2
else:
结果3
else:
结果4 可无限嵌套,但是在实际开发中,尽量不要超过三层嵌套 如:
'''
gender = input("咣咣咣, 请问, 你是男的还是女的:")
if gender == '女':
print("请进")
# 需要进一步判断
age = input("请告诉我你的年龄是:")
if int(age) > 30:
print("你去隔壁吧。老王等着你呢")
else:
print("进来吧, 我家的瓜又大又甜.")
# 还可以继续判断。。。。。 最好不要超过3层 - 最多套5层
else:
print("回去吧, 家里没人")
第一天-python基础的更多相关文章
- [Python笔记][第一章Python基础]
2016/1/27学习内容 第一章 Python基础 Python内置函数 见Python内置函数.md del命令 显式删除操作,列表中也可以使用. 基本输入输出 input() 读入进来永远是字符 ...
- 第一篇:python基础
python基础 python基础 本节内容 python起源 python的发展史 为什么选择python3 第一个python程序 变量定义 表达式和运算符 用户输入 流程控制 判断 流程控制 ...
- Python笔记·第一章—— Python基础(一)
一.Python的简介 1.Python的由来与版本 1.1 python的由来 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆(中文 ...
- 面试题之第一部分(Python基础篇) 80题
第一部分(python基础篇)80题 为什么学习Python?==*== # 1. python应用于很多领域,比如后端,前端,爬虫,机器学习(人工智能)等方面,几乎能涵盖各个开发语言的领域,同时它相 ...
- 我的Python成长之路---第一天---Python基础(1)---2015年12月26日(雾霾)
2015年12月26日是个特别的日子,我的Python成之路迈出第一步.见到了心目中的Python大神(Alex),也认识到了新的志向相投的伙伴,非常开心. 尽管之前看过一些Python的视频.书,算 ...
- ArcPy第一章-Python基础
学习Arcpy,从零开始积累.1.代码注释: python中,说明部分通常使用注释来实现: 方式: # 或者 ## + 注释部分内容2. 模块导入: 方式: import Eg: import arc ...
- Day01第一天 Python基础一
变量 就是将一些运算的中间结果暂时存在内存中,以便后续代码的调用. >命名规则: 1,只能以字母,数字,下划线自由组合,且,不能以数字开头.2,不能是 Python 中的关键字.3,要具有可 ...
- python第一章 python基础编程
第一次学习python 首先python对于我来说是我学习的第三门语言,之前大一学习过了c和c++这两门语言. 接触一个新语言,首先应该的是搭载一下编译的环境.我们是老师给我们上传了的python3安 ...
- 第一章 Python 基础
1. 为什么学习 Python? 答题路线:a.python的优点,b.python的应用领域广 具体: 优点 1.python语法非常优雅,简单易学 2.免费开源 3.跨平台,可以自由移植 4.可扩 ...
随机推荐
- Win10内部更新:警告用户别用chrome和Firefox
简评:别和 Chrome 和 Firefox 约行不,我 Edge 明明更美.屁股更翘.更性感... 微软正在测试 Windows 10 的一个更新:警告用户不要安装 Chrome 和 Firefox ...
- YC全球总裁:我招揽陆奇好多年,如今终于如愿了!
简评:YC 老大多年来一直在努力招揽陆奇,终于如愿了. YC 总裁 Sam Altman 在 8 月 14 日,发布了关于陆奇以及 YC 中国的公告,全文如下: 我非常荣幸地宣布,陆奇加入 YC 并且 ...
- psp0级报告
计划 1.1需求描述: 现在市场上有很多的面向小学生的题卡,但是这习题卡不但价格昂贵,而且每次做题的内容基本都是固定.针对这些问题,开发出了这款网页在线答题系统,每次的题目都有所不同,可以跟快更好提高 ...
- Springboot第五篇:结合myBatis进行SQL操作
前提:和之前同样的,本篇会从前端和后台一起讲述关于SQL的select操作(其他操作原理大致类似,不多做解释了). 大致流程:前端通过AJAX将数据发送到后台的路由,后台路由会根据发送的数据进行SQL ...
- Angular Material 按钮图标系列
工做中经常用到Angular Material 中的好多按钮素材,奈何官网经常上不去,所以只能自己把这些常用的按钮扒下来了,留给自己同时也留给大家方便查看. Angular material mat- ...
- WC2019退役记
sb题不会,暴力写不完,被全场吊着打,AFO
- dede发布内容限制违规词
DEDE限制违规词代码 //词汇过滤检查 if( $cfg_notallowstr != '' ) { if(preg_match("#".$cfg_notallowstr.&qu ...
- Java 线程类别
Java 线程类别 守护线程和非守护线程 守护线程和非守护线程之前的唯一区别在于:是否阻止JVM的正常退出. JVM正常退出是与异常退出相对的概念,异常退出如调用System.exit(status) ...
- 聊一聊Iterable与Iterator的那些事!
前言 欢迎关注公众号:Coder编程 获取最新原创技术文章和相关免费学习资料,随时随地学习技术知识! 在上一篇文章通过面试题,让我们来了解Collection,我们会发现Collection接口之上还 ...
- git 学习之分支
在一开始学习 git 的时候我们经常提到一个东西---- master.那么 master 到底是什么呢?其实它就是一个分支,一般这个分支就是主分支.而在一般 git 中都有一个指向当前你工作的分支 ...