请选择 进入手机版 | 继续访问电脑版
搜索
房产
装修
汽车
婚嫁
健康
理财
旅游
美食
跳蚤
二手房
租房
招聘
二手车
教育
茶座
我要买房
买东西
装修家居
交友
职场
生活
网购
亲子
情感
龙城车友
找美食
谈婚论嫁
美女
兴趣
八卦
宠物
手机

python基础学习(一)

[复制链接]
查看: 108|回复: 0

2万

主题

2万

帖子

7万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
70839
发表于 2020-1-17 02:23 | 显示全部楼层 |阅读模式
一,Python先容
<div id="cnblogs_post_body" h4 id="title-0-1-0"strong1,python的诞生与利用/strong/h4p  python的初创报酬吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节时代,吉多·范罗苏姆(中文名字:龟叔)为了在阿姆斯特丹打发时候,决心开辟一个新的剧本表白步伐,作为ABC说话的一种继续。  /pp(龟叔:2005年加入谷歌至2012年,2013年加入Dropbox直到现在,仍然把握着Python成长的焦点偏向,被称为善良的独裁者)。/pp
img src="https://images2017.cnblogs.com/blog/988316/201709/988316-20170911121503547-2124074284.png"  /
/pp2018年10月的TIOBE排行榜,Python已经占据第四的位置, Python崇尚风雅、清楚、简单,是一个杰出并普遍操纵的说话。/pphttps://www.tiobe.com/tiobe-index//pp
img src="https://img2018.cnblogs.com/blog/1011956/201810/1011956-20181025212847541-1697406909.png"  /
/pp2019年06月16日/pp
img src="https://img2018.cnblogs.com/blog/1011956/201906/1011956-20190616220658162-1720225531.png"  width="944" height="765" /
/pp由上图可见,Python整体呈上升趋向,反应出Python利用越来越普遍而且也渐渐获得业内的认可!!!/ppPython可以利用于众多范围,如:数据分析、组件集成、收集办事、图像处置惩罚、数值盘算和科学盘算等众多范围。现在业内几乎全数大中型互联网企业都在操纵Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。/ppstrong现在Python严重利用范围:/strong/pullistrong云盘算/strong: 云盘算最火的说话, 典型利用OpenStack/lilistrongWEB开辟/strong: 众多杰出的WEB框架,众多大型网站均为Python开辟,Youtube, Dropbox, 豆瓣。。。, 典型WEB框架有Django/lilistrong科学运算、野生智能/strong: 典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas/lilistrong系统运维/strong: 运维职员必备说话/lilistrong金融/strong:量化买卖营业,金融分析,在金融工程范围,Python不单在用,且用的最多,而且严重性逐年进步。原因原由:作为静态说话的Python,说话结构清楚简单,库丰富,成熟安定,科学盘算和统计分析都很牛逼,生产服从远远高于c,c++,java,特别长于计谋回测/lilistrong图形GUI/strong: PyQT, WxPython,TkInter/li/ulpstrongPython在一些公司的利用: /strong/pulli谷歌:Google App Engine 、code.google.com 、Google earth 、谷歌爬虫、Google广告等项目都在大量操纵Python开辟/liliCIA: 美国中情局网站就是用Python开辟的/liliNASA: 美国航天局(NASA)大量操纵Python举行数据分析和运算/liliYouTube:全国上最大的视频网站YouTube就是用Python开辟的/liliDropbox:美国最大的在线云存储网站,全数用Python实现,天天网站处置惩罚10亿个文件的上传和下载/liliInstagram:美国最大的图片分享交际网站,天天跨越3万万张照片被分享,全数用python开辟/liliFacebook:大量的底子库均经过Python实现的/liliRedhat: 全国上最流行的Linux刊行版本中的yum包治理工具就是用python开辟的/lili豆瓣: 公司几乎全数的营业均是经过Python开辟的/lili知乎: 国内最大的问答社区,经过Python开辟(国外Quora)/lili春雨医生:国内着名的在线医疗网站是用Python开辟的/lili除上面之外,还有搜狐、金山、腾讯、盛大、网易、百度、阿里、淘宝 、土豆、新浪、果壳等公司都在操纵Python完成各类百般的使命。 /li/ulpstrongpython成长史/strong/pulli1989年,为了打发圣诞节假期,Guido起头写Python说话的编译器。Python这个名字,来自Guido所挚爱的电视剧Monty Python’s Flying Circus。他盼望这个新的叫做Python的说话,能合适他的理想:缔造一种C和shell之间,功用周全,易学易用,可拓展的说话。/lili1991年,第一个Python编译器诞生。它是用C说话实现的,并可以大要挪用C说话的库文件。从一诞生,Python已经具有了:类,函数,很是处置惩罚,包含表和辞书在内的焦点数据典范,以及模块为底子的拓展系统。/liliGranddaddy of Python web frameworks, Zope 1 was released in 1999/liliPython 1.0 - January 1994 增加了 a href="https://en.wikipedia.org/wiki/Lambda_calculus"lambda/a, a href="https://en.wikipedia.org/wiki/Map_%28higher-order_function%29"map/a, a href="https://en.wikipedia.org/wiki/Filter_%28higher-order_function%29"filter/a and a href="https://en.wikipedia.org/wiki/Fold_%28higher-order_function%29"reduce/a./liliPython 2.0 - October 16, 2000,加入了内存采取机制,组成了现在Python说话框架的底子/liliPython 2.4 - November 30, 2004, 同年现在最流行的WEB框架Django 诞生/liliPython 2.5 - September 19, 2006/liliPython 2.6 - October 1, 2008/liliPython 2.7 - July 3, 2010/liliIn November 2014, it was announced that Python 2.7 would be supported until 2020, and reaffirmed that there would be no 2.8 release as users were expected to move to Python 3.4+ as soon as possible/liliPython 3.0 - December 3, 2008/liliPython 3.1 - June 27, 2009/liliPython 3.2 - February 20, 2011/liliPython 3.3 - September 29, 2012/liliPython 3.4 - March 16, 2014/liliPython 3.5 - September 13, 2015/liliPython 3.6 - December 16,2016/li/ulh4 id="title-0-2-0"strong2,python是什么编程说话。/strong/h4pem编程说话严重从以下几个角度为举行分类,编译型和表白型、静态说话和静态说话、强典范界说说话和弱典范界说说话,每个分类代表什么意义呢,我们一路来看一下。/em/ppstrong2.1 编译型与表白型。/strong/pp strong编译器/strong是把源步伐的每一条语句都编译成呆板说话,并保存成二进制文件,这样运转时盘算机可以间接以呆板说话来运转此步伐,速度很快; /pp 而strong表白器/strong则是只在尝试步伐时,才一条一条的表白成呆板说话给盘算机来尝试,所以运转速度是不如编译后的步伐运转的快的. /pp 这是由于盘算机不能间接熟悉并尝试我们写的语句,它只能熟悉呆板说话(是二进制的形式)/pp
img src="https://images2017.cnblogs.com/blog/988316/201709/988316-20170911120842485-871465200.png"  width="811" height="533" /
/pp
img src="https://images2017.cnblogs.com/blog/988316/201709/988316-20170911120939860-618931676.png"  /
/pp /pp /ppstrong编译型/strongbr /优点:编译器一样平常会有预编译的进程对代码举行优化。由于编译只做一次,运转时不需要编译,所以编译型说话的步伐尝试服从高。可以离开说话情况自力运转。br /弱点:编译以后假如需要点窜就需要全部模块重新编译。编译的时候按照对应的运转情况天生呆板码,差此外操纵系统之间移植就会有题目,需要按照运转的操纵系统情况编译差此外可尝试文件。/ppstrong表白型/strongbr /优点:有杰出的平台兼容性,在任何情况中都可以运转,条件是安装了表白器(捏造机)。灵活,点窜代码的时候间接点窜便可以,可以快速安排,不用停机保护。/pp弱点:每次运转的时候都要表白一遍,性能上不如编译型说话。/pp align="left"strong2.2静态说话和静态说话/strongbr /凡是我们所说的静态说话、静态说话是指静态典范说话和静态典范说话。/pp align="left"(1)静态典范说话:静态典范说话是指在运转时代才去做数据典范检查的说话,也就是说,在用静态典范的说话编程时,永久也不用给任何变量指定数据典范,该说话会在你第一次赋值给变量时,在内部将数据典范记录下来。Python和Ruby就是一种典型的静态典范说话,其他的各类剧本说话如VBScript也几多属于静态典范说话。/pp align="left"(2)静态典范说话:静态典范说话与静态典范说话恰好相反,它的数据典范是在编译其间检查的,也就是说在写步伐时要声明全数变量的数据典范,C/C++是静态典范说话的典型代表,其他的静态典范说话还有C#、JAVA等。/pp align="left"strong2.3强典范界说说话和弱典范界说说话/strong/pp align="left"(1)强典范界说说话:强逼数据典范界说的说话。也就是说,一旦一个变量被指定了某个数据典范,假如不经过强逼转换,那末它就永久是这个数据典范了。举个例子:假如你界说了一个整型变量a,那末步伐底子不大要将a看成字符串典范处置惩罚。强典范界说说话是典范平安的说话。/pp align="left"(2)弱典范界说说话:数据典范可以被疏忽的说话。它与强典范界说说话相反, 一个变量可以赋不同数据典范的值。/pp align="left"强典范界说说话在速度上大要略减色于弱典范界说说话,可是强典范界说说话带来的松散性可以大要有用的禁止很多毛病。此外,“这门说话能否是静态说话”与“这门说话能否典范平安”之间是完全没有联系的!br /例如:Python是静态说话,是强典范界说说话(典范平安的说话); VBScript是静态说话,是弱典范界说说话(典范不服安的说话); JAVA是静态说话,是强典范界说说话(典范平安的说话)。/pp align="left"经过上面这些先容,我们可以得出,strongpython是一门静态表白性的强典范界说说话。/strong/ph4 id="title-0-3-0" align="left"strong3,python的优弱点。/strong/h4p align="left"先看优点/polliPython的定位是“文雅”、“大白”、“简单”,所以Python步伐看上去总是简单易懂,初学者学Python,不单入门轻易,而且未来深入下去,可以编写那些很是很是复杂的步伐。/lili开辟服从很是高,Python有很是强大的第三方库,底子上你想经过盘算机实现任何功用,Python官方库里都有响应的模块举行支持,间接下载挪用后,在底子库的底子上再举行开辟,大大低落开辟周期,禁止反复造轮子。/lili高级说话————当你用Python说话编写步伐的时候,你无需考虑诸如怎样治理你的步伐操纵的内存一类的底层细节/lili可移植性————由于它的开源本质,Python已经被移植在很多平台上(经过修改使它可以大要工 作在不同平台上)。假如你警戒地禁止操纵依靠于系统的特征,那末你的全数Python步伐无需点窜就几乎可以在市场上全数的系统平台上运转/lili可扩大性————假如你需要你的一段关键代码运转得更快大要盼望某些算法不公然,你可以把你的部分步伐用C或C++编写,然后在你的Python步伐中操纵它们。/lili可嵌入性————你可以把Python嵌入你的C/C++步伐,从而向你的步伐用户供给剧本功用。/li/olp align="left"再看弱点:/polli速度慢,Python 的运转速度相比C说话确切慢很多,跟JAVA相比也要慢一些,是以这也是很多所谓的大牛不屑于操纵Python的严重原因原由,但实在这里所指的运转速度慢在大大都情况下用户是没法间接感知到的,必须借助测试工具才华表现出来,比如你用C运一个步伐花了0.01s,用Python是0.1s,这样C说话间接比Python快了10倍,算黑白常夸张了,可是你是没法间接经过肉眼感知的,由于一个正凡人所能感知的时候最小单元是0.15-0.4s左右,哈哈。其实在大大都情况下Python已经完全可以满足你对步伐速度的要求,除非你要写对速度要求极高的搜索引擎等,这类情况下,固然照旧倡议你用C去实现的。/lili代码不能加密,由于PYTHON是表白性说话,它的源码都是以名文形式寄存的,不外我不以为这算是一个弱点,假如你的项目要求源代码必须是加密的,那你一路头就不应当用Python来去实现。/lili线程不能操纵多CPU题目,这是Python被人诟病最多的一个弱点,GIL即全局表白器锁(Global Interpreter Lock),是a title="盘算机步伐筹划说话" href="http://zh.wikipedia.org/wiki/%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E8%AF%AD%E8%A8%80"盘算机步伐筹划说话/aa title="表白器" href="http://zh.wikipedia.org/wiki/%E8%A7%A3%E9%87%8A%E5%99%A8"表白器/a用于a title="同步" href="http://zh.wikipedia.org/wiki/%E5%90%8C%E6%AD%A5"同步/aa title="线程" href="http://zh.wikipedia.org/wiki/%E7%BA%BF%E7%A8%8B"线程/a的工具,使得任何时辰唯一一个线程在尝试,Python的线程是操纵系统的原生线程。在Linux上为pthread,在Windows上为Win thread,完全由操纵系统调节线程的尝试。一个python表白器过程内有一条主线程,以及多条用户步伐的尝试线程。即使在多核CPU平台上,由于GIL的存在,所以禁止多线程的并行尝试。关于这个题目标折衷治理方式,我们在今后线程和过程章节里再举行具体探讨。/li/olp当我们编写Python代码时,我们获得的是一个包含Python代码的以code.py/code为扩大名的文本文件。要运转代码,就需要Python表白器去尝试code.py/code文件。/pp由于全部Python说话从标准到表白器都是开源的,所以理论上,只要水平够高,任何人都可以编写Python表白器来尝试Python代码(固然难度很大)。究竟上,确切存在多种Python表白器。/ph4 id="title-0-4-0"4,python的品种。/h4pstrongCPython/strong/pp当我们从a href="https://www.python.org/"Python官方网站/a下载并安装好Python 3.6后,我们就间接获得了一个官方版本的表白器:CPython。这个表白器是用C说话开辟的,所以叫CPython。在命令行下运转codepython/code就是启动CPython表白器。/ppCPython是操纵最广的Python表白器。教程的全数代码也都在CPython下尝试。/ppstrongIPython/strong/ppIPython是基于CPython之上的一个交互式表白器,也就是说,IPython只是在交互方式上有所增强,可是尝试Python代码的功用和CPython是完全一样的。比如很多国产欣赏器虽然表面不同,但内核实在都是挪用了IE。/ppCPython用code>>>作为提醒符,而IPython用In [序号]:作为提醒符。</p>PyPy
PyPy是另一个Python表白器,它的目标是尝试速度。PyPy采取JIT技术,对Python代码停止静态编译(留意不是表白),所以可以明显进步Python代码的尝试速度。
绝大部分Python代码都可以在PyPy下运转,可是PyPy和CPython有一些是差此外,这就致使不异的Python代码在两种表白器下尝试大要会有差此外成果。假如你的代码要放到PyPy下尝试,就需要了解PyPy和CPython的不同点
Jython
Jython是运转在Java平台上的Python表白器,可以间接把Python代码编译成Java字节码尝试。
IronPython
IronPython和Jython类似,只不外IronPython是运转在微软.Net平台上的Python表白器,可以间接把Python代码编译成.Net的字节码。
我的关键词 python根本进修(一)  热门消息 1011956-20190616221133797-2012840990


小结:
  Python的表白器很多,但操纵最普遍的照旧CPython。假如要和Java或.Net平台交互,最好的法子不是用Jython或IronPython,而是经过收集挪用来交互,确保各步伐之间的自力性。
二,python情况

windows下安装Python(手动增加情况变量)以2.7版本举例:

windows:
我的关键词 python根本进修(一)  热门消息 copycode
  1. 1 1、下载安装包2     https://www.python.org/downloads/3 2、安装4     默许安装途径:C:\python275 3、设备情况变量6     【右键盘算机】--》【属性】--》【高级系统设备】--》【高级】--》【情况变量】--》【在第二个内容框中找到 变量名为Path 的一行,双击】 --> 【Python安装目录追加到变值值中,用 ; 朋分】7     如:本来的值;C:\python27,服膺前面有分号
复制代码
我的关键词 python根本进修(一)  热门消息 copycode

windows下安装Python(自动增加情况变量)以3,.5版本的举例:
1,官网下载:https://www.python.org/downloads/windows/
2,挑选版本。
我的关键词 python根本进修(一)  热门消息 988316-20170915172514469-312217099

3,自动增加情况变量。
我的关键词 python根本进修(一)  热门消息 988316-20170915172904078-2110770811

4,变动完成。
我的关键词 python根本进修(一)  热门消息 988316-20170915173126860-82071647

5,点击安装即可。
linux:
  1. 1 无需安装,原装Python情况2   3 ps:假如自带2.6,请更新至2.7
复制代码
三,python底子初识。

1,运转python代码。

在d盘下建立一个t1.py文件内容是:
  1. print('hello world')
复制代码
翻开windows命令行输入cmd,肯定后 写入代码python d:t1.py
我的关键词 python根本进修(一)  热门消息 988316-20170917111005797-4582581
我的关键词 python根本进修(一)  热门消息 988316-20170917111305953-1783077606

您已经运转了第一个python步伐, 即:终端---->cmd-----> python  文件途径。 回车搞定~
2,表白器。

上一步中尝试 python d:t1.py 时,大白的指出 t1.py 剧本由 python 表白器来尝试。
假如想要类似于尝试shell剧本一样尝试python剧本,例: ./t1.py ,那末就需要在 hello.py 文件的头部指定表白器,以下:
  1. #!/usr/bin/env python  print "hello,world"
复制代码

如此一来,尝试: ./t1.py 即可。
ps:尝试前需赐与t1.py 尝试权限,chmod 755 t1.py
3,内容编码。

python2表白器在加载 .py 文件中的代码时,会对内容举行编码(默许ascill),而python3对内容举行编码的默以为utf-8。
ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,严重用于显现今世英语和其他西欧说话,其最多只能用 8 位来表现(一个字节),即:2**8 = 256,所以,ASCII码最多只能表现 256 个标记。
Bin(二进制)Oct(八进制)Dec(十进制)Hex(十六进制)缩写/字符表白
0000 00000000NUL(null)空字符
0000 00011101SOH(start of headline)题目起头
0000 00102202STX (start of text)正文起头
0000 00113303ETX (end of text)正文竣事
0000 01004404EOT (end of transmission)传输竣事
0000 01015505ENQ (enquiry)请求
0000 01106606ACK (acknowledge)收到告诉
0000 01117707BEL (bell)响铃
0000 100010808BS (backspace)退格
0000 100111909HT (horizontal tab)水平制表符
0000 101012100ALF (NL line feed, new line)换行键
0000 101113110BVT (vertical tab)垂直制表符
0000 110014120CFF (NP form feed, new page)换页键
0000 110115130DCR (carriage return)回车键
0000 111016140ESO (shift out)不用切换
0000 111117150FSI (shift in)启用切换
0001 0000201610DLE (data link escape)数据链路转义
0001 0001211711DC1 (device control 1)装备控制1
0001 0010221812DC2 (device control 2)装备控制2
0001 0011231913DC3 (device control 3)装备控制3
0001 0100242014DC4 (device control 4)装备控制4
0001 0101252115NAK (negative acknowledge)拒绝吸收
0001 0110262216SYN (synchronous idle)同步余暇
0001 0111272317ETB (end of trans. block)竣事传输块
0001 1000302418CAN (cancel)取消
0001 1001312519EM (end of medium)前言竣事
0001 101032261ASUB (substitute)取代
0001 101133271BESC (escape)换码(溢出)
0001 110034281CFS (file separator)文件分隔符
0001 110135291DGS (group separator)分组符
0001 111036301ERS (record separator)记录分隔符
0001 111137311FUS (unit separator)单元分隔符
0010 0000403220(space)空格
0010 0001413321!叹号
0010 0010423422"双引号
0010 0011433523#井号
0010 0100443624$美圆符
0010 0101453725%百分号
0010 0110463826&和号
0010 0111473927'闭单引号
0010 1000504028(开括号
0010 1001514129)闭括号
0010 101052422A*星号
0010 101153432B+加号
0010 110054442C,逗号
0010 110155452D-减号/破折号
0010 111056462E.句号
0010111157472F/斜杠
001100006048300数字0
001100016149311数字1
001100106250322数字2
001100116351333数字3
001101006452344数字4
001101016553355数字5
001101106654366数字6
001101116755377数字7
001110007056388数字8
001110017157399数字9
0011101072583A:冒号
0011101173593B;分号
0011110074603C<小于
0011110175613D=等号
0011111076623E>大于
0011111177633F?问号
010000001006440@电子邮件标记
010000011016541A大写字母A 
010000101026642B大写字母B
010000111036743C大写字母C
010001001046844D大写字母D
010001011056945E大写字母E
010001101067046F大写字母F
010001111077147G大写字母G
010010001107248H大写字母H
010010011117349I大写字母I
01001010112744AJ大写字母J
01001011113754BK大写字母K
01001100114764CL大写字母L
01001101115774DM大写字母M
01001110116784EN大写字母N
01001111117794FO大写字母O
010100001208050P大写字母P
010100011218151Q大写字母Q
010100101228252R大写字母R
010100111238353S大写字母S
010101001248454T大写字母T
010101011258555U大写字母U
010101101268656V大写字母V
010101111278757W大写字母W
010110001308858X大写字母X
010110011318959Y大写字母Y
01011010132905AZ大写字母Z
01011011133915B[开方括号
01011100134925C\反斜杠
01011101135935D]闭方括号
01011110136945E^脱字符
01011111137955F_下划线
011000001409660`开单引号
011000011419761a小写字母a 
011000101429862b小写字母b
011000111439963c小写字母c
0110010014410064d小写字母d
0110010114510165e小写字母e
0110011014610266f小写字母f
0110011114710367g小写字母g
0110100015010468h小写字母h
0110100115110569i小写字母i
011010101521066Aj小写字母j
011010111531076Bk小写字母k
011011001541086Cl小写字母l
011011011551096Dm小写字母m
011011101561106En小写字母n
011011111571116Fo小写字母o
0111000016011270p小写字母p
0111000116111371q小写字母q
0111001016211472r小写字母r
0111001116311573s小写字母s
0111010016411674t小写字母t
0111010116511775u小写字母u
0111011016611876v小写字母v
0111011116711977w小写字母w
0111100017012078x小写字母x
0111100117112179y小写字母y
011110101721227Az小写字母z
011110111731237B{开花括号
011111001741247C|垂线
011111011751257D}闭花括号
011111101761267E~海浪号
011111111771277FDEL (delete)删除


明显ASCII码没法将全国上的各类翰墨和标记全数表现,所以,就需要新出一种可以代表全数字符和标记的编码,即:Unicode
Unicode(同一码、万国码、单一码)是一种在盘算机上操纵的字符编码。Unicode 是为了治理传统的字符编码计划的范围而发生的,它为每种说话中的每个字符设定了同一而且唯一的二进制编码,规定虽有的字符和标记最少由 16 位来表现(2个字节),即:2 **16 = 65536,
注:此处说的的是最少2个字节,大要更多
UTF-8,是对Unicode编码的紧缩和优化,他不再操纵最少操纵2个字节,而是将全数的字符和标记举行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...
所以,python表白器在加载 .py 文件中的代码时,会对内容举行编码(默许ascill),假如是以下代码的话:
报错:ascii码没法表现中文
  1. 1 #!/usr/bin/env python2   3 print "你好,全国"
复制代码
更正:应当显现的告诉python表白器,用什么编码来尝试源代码,即:
  1. 1 #!/usr/bin/env python2 # -*- coding: utf-8 -*-3   4 print "你好,全国"
复制代码
4,诠释。

当行诠释:# 被诠释内容
多行诠释:'''被诠释内容''',大要"""被诠释内容"""
5,变量

变量是什么?  变量:把步伐运转的中心成果姑且的存在内存里,以便后续的代码挪用。
5.1、声明变量
  1. 1 #!/usr/bin/env python2 # -*- coding: utf-8 -*-3   4 name = "tiger"
复制代码
上述代码声大白一个变量,变量名为: name,变量name的值为:"taibai"
变量的感化:昵称,其代指内存里某个地址中保存的内容
我的关键词 python根本进修(一)  热门消息 988316-20170918105538009-265152686


5.2、变量界说的法则:

  • 变量名只能是 字母、数字或下划线的尽情组合
  • 变量名的第一个字符不能是数字
  • 以下关键字不能声明为变量名
    ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
  • 变量的界说要具有可描摹性。
5.3、举荐界说方式
我的关键词 python根本进修(一)  热门消息 copycode
  1. 1 #驼峰体 2  3 AgeOfOldboy = 56 4  5 NumberOfStudents = 80 6  7 #下划线 8  9 age_of_oldboy = 5610 11 number_of_students = 80
复制代码
我的关键词 python根本进修(一)  热门消息 copycode
你以为哪类更清楚,哪类就是官方举荐的,我想你必定会先第2种,第一种AgeOfOldboy咋一看以为是AngelaBaby
5.4、变量的赋值
  1. 1 #!/usr/bin/env python2 # -*- coding: utf-8 -*-3 4 name1 = "alex"5 name2 = "wupeiqi"
复制代码

<div id="cnblogs_post_body"  
img src="https://images2015.cnblogs.com/blog/425762/201510/425762-20151024180236677-1430341076.png"  width="283" height="220" /
  1. 1 #!/usr/bin/env python2 # -*- coding: utf-8 -*-3 4 name1 = "tiger"5 name2 = name1
复制代码
img src="https://images2017.cnblogs.com/blog/988316/201709/988316-20170918110112353-2091538296.png"  /
p id="界说变量欠好的方式举例"5.5、界说变量欠好的方式举例/pulli变量名为中文、拼音/lili变量名太长/lili变量名词不达意/li/ulh4 id="id="6,常量/h4p 常量即指安定的量,如pai 3.141592653..., 或在步伐运转进程中不会改变的量/pp 举例,假如老男孩教员的年事会变,那这就是个变量,但在一些情况下,他的年事不会变了,那就是常量。在Python中没有一个专门的语法代表常量,步伐员约定俗成用变量名全数大写代表常量/p
  1. code AGE_OF_OLDBOY = 56/code
复制代码
blockquotep 在c说话中有专门的常量界说语法,codeconst int count = 60;/code一旦界说为常量,变动即会报错/p/blockquoteh4 id="title-2-7-0" 7,步伐交互/h4a title="复制代码"
img src="https://common.cnblogs.com/images/copycode.gif"  /
/a
  1. #!/usr/bin/env python# -*- coding: utf-8 -*-  # 将用户输入的内容赋值给 name 变量name = input("请输入用户名:")  # 打印输入的内容print(name)
复制代码
a title="复制代码"
img src="https://common.cnblogs.com/images/copycode.gif"  /
/ap 尝试剧本就会发现,步伐会等待你输入姓名后再往下继续走。/pp 可以让用户输入多个信息,以下/pa title="复制代码"
img src="https://common.cnblogs.com/images/copycode.gif"  /
/a
  1. #!/usr/bin/env python# -*- coding: utf-8 -*-name = input("What is your name?")age = input("How old are you?")hometown = input("Where is your hometown?")print("Hello ",name , "your are ", age , "years old, you came from",hometown)
复制代码
a title="复制代码"
img src="https://common.cnblogs.com/images/copycode.gif"  /
/ah4 id="title-2-8-0"8,底子数据典范(初识)。/h4p什么是数据典范?/pp  我们人类可以很轻易的分清数字与字符的区分,可是盘算机并不能呀,盘算机虽然很强大,但从某种角度上看又很傻,除非你大白的告诉它,1是数字,“汉”是翰墨,否则它是分不清1和‘汉’的区此外,是以,在每个编程说话里城市有一个叫数据典范的东东,实在就是对常用的各类数据典范举行了大白的别离,你想让盘算机举行数值运算,你就传数字给它,你想让他处置惩罚翰墨,就传字符串典范给他。Python中常用的数据典范有多种,本日我们暂只讲3种, 数字、字符串、布尔典范/pp8.1、整数典范(int)。/pp int(整型)/pp 在32位呆板上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647/pp 在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807/pp long(长整型)/pp 跟C说话不同,Python的长整数没有指定位宽,即:Python没有限制长整数数值的巨细,但现实上由于呆板内存有限,我们操纵的长整数数值不大要无穷大。/pp 留意,自从Python2.2起,假如整数发生溢出,Python会自动将整数数据转换为长整数,所以现在在长整数数据背面不加字母L也不会致使严厉成果了。/pblockquotep 留意:在Python3里不再有long典范了,全都是int/p/blockquotea title="复制代码"
img src="https://common.cnblogs.com/images/copycode.gif"  /
/a
  1. >>> a= 2**64>>> type(a)  #type()是检察数据典范的方式>>> b = 2**60>>> type(b)
复制代码
我的关键词 python根本进修(一)  热门消息 copycode
除了int和long之外, 实在还有float浮点型, 复数型,但本日先不讲啦
8.2、字符串典范(str)。
在Python中,加了引号的字符都被以为是字符串!
我的关键词 python根本进修(一)  热门消息 copycode
  1. >>> name = "Alex Li" #双引号>>> age = "22"       #只要加引号就是字符串>>> age2 = 22          #int>>> >>> msg = '''My name is taibai, I am 22 years old!'''  #我擦,3个引号也可以>>> >>> hometown = 'ShanDong'   #单引号也可以
复制代码
我的关键词 python根本进修(一)  热门消息 copycode
那单引号、双引号、多引号有什么区分呢? 让我高声告诉你,单双引号木有任何区分,只要下面这类情况 你需要考虑单双的配合
  1. msg = "My name is Alex , I'm 22 years old!"
复制代码
多引号什么感化呢?感化就是多行字符串必须用多引号
我的关键词 python根本进修(一)  热门消息 copycode
  1. msg = '''金山竹影几千秋,云锁高飞水自流。万里长江飘玉带,一轮明月滚金球。远至湖北三千里。近到江南十六州。美景一时观不透,天缘有份画中游。'''print(msg)
复制代码
我的关键词 python根本进修(一)  热门消息 copycode
字符串拼接
数字可以举行加减乘除等运算,字符串呢?让我高声告诉你,也能?what ?是的,但只能举行"相加"和"相乘"运算。
我的关键词 python根本进修(一)  热门消息 copycode
  1. >>> name'Alex Li'>>> age'22'>>> >>> name + age  #相加实在就是简单拼接'Alex Li22'>>> >>> name * 10 #相乘实在就是复制自己几多次,再拼接在一路'Alex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex Li'
复制代码
我的关键词 python根本进修(一)  热门消息 copycode
留意,字符串的拼接只能是双方都是字符串,不能跟数字或此外典范拼接
我的关键词 python根本进修(一)  热门消息 copycode
  1. >>> type(name),type(age2)(, )>>> >>> name'Alex Li'>>> age222>>> name + age2Traceback (most recent call last):  File "", line 1, in TypeError: cannot concatenate 'str' and 'int' objects #毛病提醒数字 和 字符 不能拼接
复制代码
我的关键词 python根本进修(一)  热门消息 copycode
8.3、布尔值(True,False)。
布尔典范很简单,就两个值 ,一个True(真),一个False(假), 严重用记逻辑判定
但实在你们并不大白对么? let me explain, 我现在有2个值 , a=3, b=5 , 我说a>b你说建立么? 我们固然晓得不建立,但题目是盘算机怎样去描摹这成不建立呢?大要说a< b是建立,盘算机怎样描摹这是建立呢?
没错,答案就是,用布尔典范
我的关键词 python根本进修(一)  热门消息 copycode
  1. >>> a=3>>> b=5>>> >>> a > b #不建立就是False,即假False>>> >>> a < b #建立就是True, 即真True
复制代码
我的关键词 python根本进修(一)  热门消息 copycode
9,格式化输出。

现有一练习需求,问用户的姓名、年事、工作、爱好 ,然后打印成以下格式
我的关键词 python根本进修(一)  热门消息 copycode
  1. ------------ info of Alex Li -----------Name  : Alex LiAge   : 22job   : TeacherHobbie: girl------------- end -----------------
复制代码
我的关键词 python根本进修(一)  热门消息 copycode
你怎样实现呢?你会发现,用字符拼接的方式还难实现这类格式的输出,所以一路来学一下新姿势
只需要把要打印的格式先预备好, 由于里面的 一些信息是需要用户输入的,你没法子预设晓得,是以可以先放置个占位符,再把字符串里的占位符与内部的变量做个映照关系就好啦
我的关键词 python根本进修(一)  热门消息 copycode
  1. name = input("Name:")age = input("Age:")job = input("Job:")hobbie = input("Hobbie:")info = '''------------ info of %s ----------- #这里的每个%s就是一个占位符,本行的代表 背面拓号里的 name Name  : %s  #代表 name Age   : %s  #代表 age  job   : %s  #代表 job Hobbie: %s  #代表 hobbie ------------- end -----------------''' %(name,name,age,job,hobbie)  # 这行的 % 号就是 把前面的字符串 与拓号 背面的 变量 关联起来 print(info)
复制代码
我的关键词 python根本进修(一)  热门消息 copycode
%s就是代表字符串占位符,除此之外,还有%d,是数字占位符, 假如把上面的age背面的换成%d,就代表你必须只能输入数字啦
  1. age: %d
复制代码
我们运转一下,可是发现出错了。。。
我的关键词 python根本进修(一)  热门消息 1011956-20181025214752617-2003925049

说%d需要一个数字,而不是str, what? 我们明显输入的是数字呀,22,22呀。
不用担忧 ,不要信赖你的眼睛我们调试一下,看看输入的究竟能否是数字呢?怎样看呢?检察数据典范的方式是什么来着?type()
我的关键词 python根本进修(一)  热门消息 copycode
  1. name = input("Name:")age = input("Age:")print(type(age))尝试输出是Name:AlexAge:22 #怎样会是strJob:IT
复制代码
我的关键词 python根本进修(一)  热门消息 copycode
让我高声告诉你,input吸收的全数输入默许都是字符串格式!
要想步伐不出错,那怎样办呢?简单,你可以把str转成int
  1. age = int(  input("Age:")  )print(type(age))
复制代码
必定没题目了。相反,能不能把字符串转成数字呢?一定可以,str( yourStr )
题目:现在有这么行代码
  1. msg = "我是%s,年事%d,现在进修进度为80%"%('晓虎',18)print(msg)
复制代码
这样会报错的,由于在格式化输出里,你出现%默以为就是占位符的%,可是我想在上面一条语句中末端的80%就是表现80%而不是占位符,怎样办?
  1. msg = "我是%s,年事%d,现在进修进度为80%%"%('晓虎',18)print(msg)
复制代码
这样便可以了,第一个%是对第二个%的转译,告诉Python表白器这只是一个纯真的%,而不是占位符。
10,底子运算符。

运算符
  盘算机可以举行的运算有很多种,可不单加减乘除这么简单,运算按品种可分为算数运算、比力运算、逻辑运算、赋值运算、成员运算、身份运算、位运算,本日我们暂只进修算数运算、比力运算、逻辑运算、赋值运算、成员运算
算数运算
以下假定变量:a=10,b=20
我的关键词 python根本进修(一)  热门消息 988316-20170918164114681-450791355

比力运算
以下假定变量:a=10,b=20
我的关键词 python根本进修(一)  热门消息 988316-20170918164140775-1955239387

赋值运算
以下假定变量:a=10,b=20
我的关键词 python根本进修(一)  热门消息 988316-20170918164210728-1331769834

逻辑运算
我的关键词 python根本进修(一)  热门消息 988316-20170918164226540-2018438327

针对逻辑运算的进一步研讨:
  1,在没有()的情况下not 优先级高于 and,and优先级高于or,即优先级关系为( )>not>and>or,同一优先级从左往右盘算。
例题:
判定以下逻辑语句的True,False。
我的关键词 python根本进修(一)  热门消息 copycode
  1. 1,3>4 or 42 3,2 > 1 and 3 < 4 or 4 > 5 and 2 < 14,1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 85,1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 66,not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
复制代码
我的关键词 python根本进修(一)  热门消息 copycode
  2 ,  x or y , x为真,值就是x,x为假,值是y;
             x and y, x为真,值是y,x为假,值是x。
 
我的关键词 python根本进修(一)  热门消息 988316-20170918155316712-501488538

例题:求出以下逻辑语句的值。
  1. 8 or 40 and 30 or 4 and 3 or 7 or 9 and 6
复制代码
成员运算:
除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包含字符串,列表或元组。
我的关键词 python根本进修(一)  热门消息 988316-20181019153207737-1857017047

判定子元素能否在原字符串(字典,列表,调集)中:
例如:
  1. # print('爱好' in 'dkfljadklf爱好hfjdkas')# print('a' in 'bcvd')# print('y' not in 'ofkjdslaf')
复制代码
Python运算符优先级
以下表格列出了从最高到最低优先级的全数运算符:
[table][tr]运算符描摹[/tr][tr][td]**[/td][td]指数 (最高优先级)[/td][/tr][tr][td]~ + -[/td][td]按位翻转, 一元加号和减号 (末端两个的方式名为 +@ 和 -@)[/td][/tr][tr][td]* / % //[/td][td]乘,除,取模和取整除[/td][/tr][tr][td]+ -[/td][td]加法减法[/td][/tr][tr][td]>> </tdtd右移,左移运算符/td/trtrtd&/tdtd位 'AND'/td/trtrtd^ |/tdtd位运算符/td/trtrtd= <  =/tdtd比力运算符/td/trtrtd == !=/tdtd即是运算符/td/trtrtd= %= /= //= -= += *= **=/tdtd赋值运算符/td/trtrtdis is not/tdtd身份运算符/td/trtrtdin not in/tdtd成员运算符/td/trtrtdnot and or/tdtd逻辑运算符/td/tr/tbody/tableh411,流程控制之--if。/h4p   假如把写步伐比做走路,那我们到现在为止,一向走的都是直路,还没碰到过分叉口,设想现实中,你碰到了分叉口,然后你决议往哪拐一定是有所动机的。你要判定那条岔路是你真正要走的路,假如我们想妥协伐也能处置惩罚这样的判定怎样办? 很简单,只需要在步伐里预设一些条件判定语句,满足哪个条件,就走哪条岔路。这个进程就叫流程控制。/pp id="ifelse--语句"if...else 语句/pp 单分支/p
  1. if 条件:    满足条件后要尝试的代码
复制代码
p双分支/pa title="复制代码"
img src="https://common.cnblogs.com/images/copycode.gif"  /
/a
  1. """if 条件:    满足条件尝试代码else:    if条件不满足就走这段"""AgeOfOldboy = 48if AgeOfOldboy > 50 :    print("Too old, time to retire..")else:    print("还能折腾几年!")
复制代码
我的关键词 python根本进修(一)  热门消息 copycode
缩进
这里必必要插入这个缩进的常识点
你会发现,上面的if代码里,每个条件的下一行都缩进了4个空格,这是为什么呢?这就是Python的一大特点,强逼缩进,目标是为了妥协伐晓得,每段代码依靠哪个条件,假如欠亨过缩进来区分,步伐怎样会晓得,当你的条件建立后,去尝试哪些代码呢?
在此外的说话里,大多经过{}来肯定代码块,比如C,C++,Java,Javascript都是这样,看一个JavaScript代码的例子
我的关键词 python根本进修(一)  热门消息 copycode
  1. var age = 56if ( age < 50){  console.log("还能折腾")    console.log('可以尝试多行代码')}else{   console.log('太老了')}
复制代码
我的关键词 python根本进修(一)  热门消息 copycode
在有{}来区分代码块的情况下,缩进的感化就只剩下让代码变的整洁了。
Python是门超级简便的说话,发现者定是以为用{}太丑了,所以干脆间接不用它,那怎样能区分代码块呢?答案就是强逼缩进。
Python的缩进有以下几个原则:

  • 顶级代码必须顶行写,即假如一行代码自己不依靠于任何条件,那它必须不能举行任何缩进
  • 同一级此外代码,缩进必须同等
  • 官方倡议缩进用4个空格,固然你也可以用2个,假如你想被人笑话的话。
多分支
回到流程控制上来,if...else ...可以有多个分支条件
我的关键词 python根本进修(一)  热门消息 copycode
  1. if 条件:    满足条件尝试代码elif 条件:    上面的条件不满足就走这个elif 条件:    上面的条件不满足就走这个elif 条件:    上面的条件不满足就走这个    else:    上面全数的条件不满足就走这段
复制代码
我的关键词 python根本进修(一)  热门消息 copycode
写个猜年事的游戏吧
我的关键词 python根本进修(一)  热门消息 copycode
  1. age_of_oldboy = 48guess = int(input(">>:"))if guess > age_of_oldboy :    print("猜的太大了,往小里试试...")elif guess < age_of_oldboy :    print("猜的太小了,往大里试试...")else:    print("恭喜你,猜对了...")
复制代码
我的关键词 python根本进修(一)  热门消息 copycode
上面的例子,按照你输入的值不同,会最多获得3种差此外成果
再来个婚配成果的小步伐吧,成果有ABCDE5个品级,与分数的对应关系以下
  1. A    90-100B    80-89C    60-79D    40-59E    0-39
复制代码
要求用户输入0-100的数字后,你能正确打印他的对应成果
我的关键词 python根本进修(一)  热门消息 copycode
  1. score = int(input("输入分数:"))if score > 100:    print("我擦,最高分才100...")elif score >= 90:    print("A")elif score >= 80:    print("B")elif score >= 60:    print("C")elif score >= 40:    print("D")else:    print("太笨了...E")
复制代码
我的关键词 python根本进修(一)  热门消息 copycode
这里有个题目,就是当我输入95的时候 ,它打印的成果是A,可是95 明显也大于第二个条件elif score >=80:呀, 为什么不打印B呢?这是由于代码是从上到下依次判定,只要满足一个,就不会再往下走啦,这一点必定要清楚呀!
12,流程控制之--while循环。

12.1,底子循环
我的关键词 python根本进修(一)  热门消息 copycode
  1. while 条件:         # 循环体     # 假如条件为真,那末循环体则尝试    # 假如条件为假,那末循环体不尝试
复制代码
我的关键词 python根本进修(一)  热门消息 copycode
12.2,循环停止语句
假如在循环的进程中,由于某些原因原由,你不想继续循环了,怎样把它停止掉呢?这就用到break 或 continue 语句

  • break用于完全竣事一个循环,跳出循环体尝试循环背面的语句
  • continue和break有点类似,区分在于continue只是停止本次循环,接着还尝试背面的循环,break则完全停止循环
例子:break
我的关键词 python根本进修(一)  热门消息 copycode
我的关键词 python根本进修(一)  热门消息 copycode
[code]count = 0while count

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2006-2014 淄博新闻网-淄博日报 淄博晚报 淄博财经新报 掌中淄博 淄博专业新闻资讯发布网站 版权所有 法律顾问:高律师 客服电话:0791-88289918
技术支持:迪恩网络科技公司  Powered by Discuz! X3.2
快速回复 返回顶部 返回列表