ibcadmin 发表于 2019-10-17 09:43:35

Python3程序设计指南:01 过程型程序设计快速入门

<p>大家好,从本文开始将渐渐更新Python教程<strong>指南</strong>系列,为什么叫<strong>指南</strong>呢?由于本系列是参考《Python3程序计划指南》,也是作者的学习笔记,希望与读者共同砚习。</p>
<code>.py文件中的每个估计都是次序实验的,从第一行开始,逐行实验的。    </code>
<h2 id="python的8个关键要素">Python的8个关键要素</h2>
<p><div align="center"></div></p>
<h2 id="数据范例">1、数据范例</h2>
<ul>
<li>int整数(正整数或负整数)
<ul>
<li>Python所能表现的整数大小只受限于呆板内存</li>
<li>使用<strong>int()</strong>可以将字符串转换为整数,允许字符串头尾带有空格,例如:int("68")</li>
</ul></li>
<li>str字符串(Unicode字符序列)
<ul>
<li>使用方括号([])来存取字符串序列中的某一项</li>
<li>使用str()险些可以将任何数据项转换为字符串</li>
</ul></li>
</ul>
<h2 id="对象引用">2、对象引用</h2>
<ul>
<li>界说:存储某种数据范例的变量</li>
<li>语法:objectReference=value</li>
<li><p>不必要预先的声明语句,也不必要指定数据范例</p></li>
<li>在Python中,"="的作用是将对象引用与内存中的某对象进行绑定,假如对象引用已经存在,就简单的进行绑定,以便引用”=“利用符右面的对象;假如对象引用尚未存在,就由”=“利用符创建对象引用。</li>
<li>限制:不能与任何Python关键字相同</li>
<li><p>Python使用 <strong>“动态范例”</strong> 机制,也就是说,在任何时间,只要必要,某个对象引用都可以重新引用一个差别的对象(可以是差别的数据范例)。</p></li>
</ul>
<code>temp = 123
print(temp, type(temp))
temp = &#39;hello&#39;
print(temp, type(temp))

output:
123 <class &#39;int&#39;>
hello <class &#39;str&#39;></code>
<h2 id="组合数据范例">3、组合数据范例</h2>
<ul>
<li><strong>元组</strong>和<strong>列表</strong>可以用于存储任意数量、任意范例的数据项。元组是固定的,创建之后就不能改变;列表是可变的,在必要的时间,可以插入大概移除数据项。</li>
<li>实质上,列表与元组并不真正存储数据项,而是存放对象引用,创建列表与元组时(以及在列表中插入数据项时),现实上是使用其给定的对象引用的副本,在字面意义项(比如整数或字符串)的环境下,会在内存中创建适当数据范例的对象,而存放在列表或元组中的才是对象引用。</li>
<li>点(存取属性)利用符用于存取某对象的属性</li>
</ul>
<h2 id="逻辑利用符">4、逻辑利用符</h2>
<h3 id="身份利用符is">4.1 <strong>身份利用符:is。</strong></h3>
<ul>
<li>并不必须对进行比较的对象本身进行查抄,is利用符只必要对对象地点的内存地址进行比较——同样的地址存储的是同样的对象。</li>
</ul>
<code>a =
b =
print(a is b)
a = (1, &#39;abc&#39;)
b = (1, &#39;abc&#39;)
print(a is b)
a = b
print(a is b)

output:
False
False
True</code>
<h3 id="比较利用符">4.2 <strong>比较利用符:==、!=、>、>=、<、<=</strong></h3>
<ul>
<li>与身份运算符差别,比较运算符进行的是<strong>值比较</strong>,即比较两个引用对象所指向的值。</li>
</ul>
<code>a =
b =
print(a is b)
a = (1, &#39;abc&#39;)
b = (1, &#39;abc&#39;)
print(a is b)
a = b
print(a is b)

output:
True
True
True</code>
<ul>
<li>结链比较</li>
</ul>
<code>a = 9
print(0 <= a <= 10)

output:
True</code>
<h3 id="成员利用符in">4.3 <strong>成员利用符:in。</strong></h3>
<p>in来测试成员关系,用not in来测试非成员关系。</p>
<code># in运算符
a = (3, 45, &#39;hello&#39;, {&#39;name&#39;: &#39;lisi&#39;})
print(45 in a)
string = &#39;zhangsan|wanger&#39;
print(&#39;|&#39; in string)

output:
True
True</code>
<h3 id="逻辑运算符andor与not">4.4 <strong>逻辑运算符:and、or与not。</strong></h3>
<ul>
<li>and与or都使用short-circuit逻辑,并返回决定结果的利用数——而不是返回布尔值(除非现实上就是布尔利用数)。</li>
<li>not返回布尔型结果</li>
</ul>
<h2 id="控制流语句">5、控制流语句</h2>
<p>在Python中,一块代码,也就是说一条大概多条语句组成的序列,称为suit。</p>
<h3 id="if语句if...elif...else...">5.1 if语句(if...elif...else...)</h3>
<p>语法:</p>
<code>if boolean_expression1:
    suite1
elif boolean_expression2:
    suite2
else:
    suite3</code>
<h3 id="while语句">5.2 while语句</h3>
<p>while语句用于0次或多次实验某个suite,循环实验的次数取决于while循环中布尔表达式的状态,其语法为:</p>
<code>while boolean_expression:
    suite</code>
<h3 id="for...in语句">5.3 for...in语句</h3>
<p>for循环语句重用了关键字<strong>in</strong>,其语法为:</p>
<code>for variable in iterable:
    suite</code>
<h3 id="根本的非常处置处罚">5.4 根本的非常处置处罚</h3>
<p>Python的许多函数与方法都会产生非常,并将其作为发生错误或紧张事故的标记。其语法为:</p>
<code>try:
    try_suite
except exception1 as variable1:
    exception_suite1
...
except exceptionN as variableN:
    excetpion_suiteN</code>
<p>此中<strong>as variable</strong>部门是可选的。</p>
<h2 id="算术利用符">6、算术利用符</h2>
<ul>
<li><p>int数据范例是固定的,一旦赋值就不能改变</p></li>
<li>除法利用符(/)产生一个浮点值</li>
<li>剥离利用符(//)产生一个整数值</li>
<li><strong>增强赋值利用符</strong>
<ul>
<li>不可变数据范例:a+=8:a+8之后产生新的int对象,并与a重新绑定</li>
<li>可变数据范例:使用+=后,原始值改变,不会重新绑定</li>
<li>a+=b与a=a+b区别:前者只查询一次a的值,有更快的可能性</li>
<li>字符串列表+=和append的区别
<ul>
<li>li = ['aaa','bbb'] li += 'ccc' => li = ['aaa','bbb','c','c','c']</li>
<li>li = ['aaa','bbb'] li.append( 'ccc') => li = ['aaa','bbb','ccc']</li>
</ul></li>
</ul></li>
</ul>
<h2 id="输入输出">7、输入/输出</h2>
<ul>
<li>内置input()函数,用来吸收用户的输入,输入之后按Enter键结束输入</li>
<li>内置print()函数可以输出所有python数据范例</li>
</ul>
<h2 id="函数的创建与调用">8、函数的创建与调用</h2>
<p>创建函数语法:</p>
<code>def functionName(arguments):
    suite</code>
<ul>
<li>arguments可选,假如为多个参数,用逗号隔开</li>
<li>每个函数有一个返回值,默以为None,可以使用return value来订定返回值,可以是一个值,也可以是一组值</li>
<li>实验def时会创建一个函数对象,同时创建一个带有指定名的对象引用</li>
</ul>
<h1 id="实例">实例</h1>
<p>为了认识以上关键要素,我们用一个实例来练习一下:</p>
<blockquote>
<p>创建一个天生随机整数组成的网格程序,用户可以规定必要多少行、多少列,以及整数地点的地域。</p>
</blockquote>
<ul>
<li>起首引入random模块,该模块用于天生随机数:</li>
</ul>
<code>import random</code>
<ul>
<li><p>构建获取用户输入函数</p>
<p>该函数必要3个参数:msg为提示信息,minimum为最小值,default为默认值。该函数的返回值有两种环境:default(用户没有输入直接按Enter键),大概一个有效的整数。</p></li>
</ul>
<code>def get_int(msg, minimum, default):
    while True:
      try:
            line = input(msg)
            # 假如输入值为空并且default不为None
            if not line and default is not None:
                return defalut
            # 将输入转为整形
            i = int(line)
            # 假如输入值小于最小值,提示用户
            if i < minimum:
                print("must be >=", minimum)
            else:
                return i
      # 非常处置处罚
      except ValueError as e:
            print(e)</code>
<ul>
<li>让用户输入相干的值</li>
</ul>
<code># 用户输入行数
rows = get_int(&#39;rows:&#39;, 1, None)
# 用户输入列数
columns = get_int(&#39;columns&#39;, 1, None)
# 用户输入最小值
minimum = get_int(&#39;minimum(or Enter for 0):&#39;, -10000, 0)

default = 1000
# 假如最小值大于default,default设置为最小值的2倍
if default < minimum:
    default = 2 * minimum

# 用户输入最大值
maximum = get_int(&#39;maximum (or Enter for&#39; + str(default) + &#39;)&#39;, minimum, default)</code>
<ul>
<li>根据用户输入输出随机值:</li>
</ul>
<code>row = 0
while row < rows:
    line = &#39;&#39;
    column = 0
    while column < columns:
      # 天生一个大于minimum,小于maximum的随机整数
      i = random.randint(minimum, maximum)
      s = str(i)
      # 让每个数占10个字符,为了输出整齐
      while len(s) < 10:
            s = &#39; &#39; + s
      line += s
      column += 1
    print(line)
    row += 1</code>
<p>以下为输出信息:</p>
<code>rows:5
columns7
minimum(or Enter for 0):-1000
maximum (or Enter for1000)1000
      -871      -205       426       820       986       369       238
      -389       485       388      -907       243       346      -912
      -885       528      50      -572       744       519      -128
       785      -747      -565      -390       522      -357       933
      -144       947      -949      -409       105       954       708</code>
<p>注:本文知识先容Python的8个关键要素,但是并没有完全先容,比如数据范例不但包罗整形和字符串,反面的文章中还会具体先容。</p>
<hr />
<p><div align="center"></div></p>
<blockquote>
<p>本文由博客一文多发平台 OpenWrite 发布!</p>
</blockquote><br><br/><br/><br/><br/><br/>来源:<a href="https://www.cnblogs.com/fatcat01/p/11688346.html" target="_blank">https://www.cnblogs.com/fatcat01/p/11688346.html</a>
页: [1]
查看完整版本: Python3程序设计指南:01 过程型程序设计快速入门