资讯专栏INFORMATION COLUMN

过程型程序设计快速入门

wenzi / 3293人阅读

摘要:大家好,从本文开始将逐渐更新教程指南系列,为什么叫指南呢因为本系列是参考程序设计指南,也是作者的学习笔记,希望与读者共同学习。返回布尔型结果控制流语句在中,一块代码,也就是说一条或者多条语句组成的序列,称为。其语法为其中部分是可选的。

大家好,从本文开始将逐渐更新Python教程指南系列,为什么叫指南呢?因为本系列是参考《Python3程序设计指南》,也是作者的学习笔记,希望与读者共同学习。

.py文件中的每个估计都是顺序执行的,从第一行开始,逐行执行的。    
Python的8个关键要素

1、数据类型

int整数(正整数或负整数)

Python所能表示的整数大小只受限于机器内存

使用int()可以将字符串转换为整数,允许字符串头尾带有空格,例如:int("68")

str字符串(Unicode字符序列)

使用方括号([])来存取字符串序列中的某一项

使用str()几乎可以将任何数据项转换为字符串

2、对象引用

定义:存储某种数据类型的变量

语法:objectReference=value

不需要预先的声明语句,也不需要指定数据类型

在Python中,"="的作用是将对象引用与内存中的某对象进行绑定,如果对象引用已经存在,就简单的进行绑定,以便引用”=“操作符右面的对象;如果对象引用尚未存在,就由”=“操作符创建对象引用。

限制:不能与任何Python关键字相同

Python使用 “动态类型” 机制,也就是说,在任何时刻,只要需要,某个对象引用都可以重新引用一个不同的对象(可以是不同的数据类型)。

temp = 123
print(temp, type(temp))
temp = "hello"
print(temp, type(temp))

output:
123 
hello 

3、组合数据类型

元组列表可以用于存储任意数量、任意类型的数据项。元组是固定的,创建之后就不能改变;列表是可变的,在需要的时候,可以插入或者移除数据项。

实质上,列表与元组并不真正存储数据项,而是存放对象引用,创建列表与元组时(以及在列表中插入数据项时),实际上是使用其给定的对象引用的副本,在字面意义项(比如整数或字符串)的情况下,会在内存中创建适当数据类型的对象,而存放在列表或元组中的才是对象引用。

点(存取属性)操作符用于存取某对象的属性

4、逻辑操作符 4.1 身份操作符:is。

并不必须对进行比较的对象本身进行检查,is操作符只需要对对象所在的内存地址进行比较——同样的地址存储的是同样的对象。

a = [1, "abc"]
b = [1, "abc"]
print(a is b)
a = (1, "abc")
b = (1, "abc")
print(a is b)
a = b
print(a is b)

output:
False
False
True

4.2 比较操作符:==、!=、>、>=、<、<=

与身份运算符不同,比较运算符进行的是值比较,即比较两个引用对象所指向的值。

a = [1, "abc"]
b = [1, "abc"]
print(a is b)
a = (1, "abc")
b = (1, "abc")
print(a is b)
a = b
print(a is b)

output:
True
True
True

结链比较

a = 9
print(0 <= a <= 10)

output:
True

4.3 成员操作符:in。

in来测试成员关系,用not in来测试非成员关系。

# in运算符
a = (3, 45, "hello", {"name": "lisi"})
print(45 in a)
string = "zhangsan|wanger"
print("|" in string)

output:
True
True
4.4 逻辑运算符:and、or与not。

and与or都使用short-circuit逻辑,并返回决定结果的操作数——而不是返回布尔值(除非实际上就是布尔操作数)。

not返回布尔型结果

5、控制流语句

在Python中,一块代码,也就是说一条或者多条语句组成的序列,称为suit。

5.1 if语句(if...elif...else...)

语法:

if boolean_expression1:
    suite1
elif boolean_expression2:
    suite2
else:
    suite3
5.2 while语句

while语句用于0次或多次执行某个suite,循环执行的次数取决于while循环中布尔表达式的状态,其语法为:

while boolean_expression:
    suite
5.3 for...in语句

for循环语句重用了关键字in,其语法为:

for variable in iterable:
    suite
5.4 基本的异常处理

Python的很多函数与方法都会产生异常,并将其作为发生错误或重要事件的标志。其语法为:

try:
    try_suite
except exception1 as variable1:
    exception_suite1
...
except exceptionN as variableN:
    excetpion_suiteN

其中as variable部分是可选的。

6、算术操作符

int数据类型是固定的,一旦赋值就不能改变

除法操作符(/)产生一个浮点值

剥离操作符(//)产生一个整数值

增强赋值操作符

不可变数据类型:a+=8:a+8之后产生新的int对象,并与a重新绑定

可变数据类型:使用+=后,原始值改变,不会重新绑定

a+=b与a=a+b区别:前者只查询一次a的值,有更快的可能性

字符串列表+=和append的区别

li = ["aaa","bbb"] li += "ccc" => li = ["aaa","bbb","c","c","c"]

li = ["aaa","bbb"] li.append( "ccc") => li = ["aaa","bbb","ccc"]

7、输入/输出

内置input()函数,用来接收用户的输入,输入之后按Enter键结束输入

内置print()函数可以输出所有python数据类型

8、函数的创建与调用

创建函数语法:

def functionName(arguments): 
    suite

arguments可选,如果为多个参数,用逗号隔开

每个函数有一个返回值,默认为None,可以使用return value来制定返回值,可以是一个值,也可以是一组值

执行def时会创建一个函数对象,同时创建一个带有指定名的对象引用

实例

为了熟悉以上关键要素,我们用一个实例来练习一下:

创建一个生成随机整数组成的网格程序,用户可以规定需要多少行、多少列,以及整数所在的区域。

首先引入random模块,该模块用于生成随机数:

import random

构建获取用户输入函数

该函数需要3个参数:msg为提示信息,minimum为最小值,default为默认值。该函数的返回值有两种情况:default(用户没有输入直接按Enter键),或者一个有效的整数。

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)

让用户输入相关的值

# 用户输入行数
rows = get_int("rows:", 1, None)
# 用户输入列数
columns = get_int("columns", 1, None)
# 用户输入最小值
minimum = get_int("minimum(or Enter for 0):", -10000, 0)

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

# 用户输入最大值
maximum = get_int("maximum (or Enter for" + str(default) + ")", minimum, default)

根据用户输入输出随机值:

row = 0
while row < rows:
    line = ""
    column = 0
    while column < columns:
        # 生成一个大于minimum,小于maximum的随机整数
        i = random.randint(minimum, maximum)
        s = str(i)
        # 让每个数占10个字符,为了输出整齐
        while len(s) < 10:
            s = " " + s
        line += s
        column += 1
    print(line)
    row += 1

以下为输出信息:

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

注:本文知识介绍Python的8个关键要素,但是并没有完全介绍,比如数据类型不只包括整形和字符串,后面的文章中还会详细介绍。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/41533.html

相关文章

  • Java零基础入门笔记|原来学Java可以这么简单

    摘要:刚开始学习的时候,可能是一头雾水,不知道从何学起。这个教程总体来说就像列文虎克教学,细到极致,妙到毫巅。适合绝对零基础的,每个知识点掰开了揉碎了讲解。 刚开始学习java的时候,可能是一头雾水,不知道从何学起。还有很多Java小白,在刚自学Java的时候玩命的学习,玩命的记住Java原理,天天早上五点起床背Java的一些英...

    2bdenny 评论0 收藏0
  • 九天学会Java,第一天,变量和数据类,赋值和输出

    摘要:现在我们开始说编程特性第一条变量和数据类型,赋值和输出。从广为流传的说起,用建立一个新的工程在目录建一个文件变量和数据类型,赋值和输出在中,方法是应用程序的入口方法。变量包含三个知识点,新建变量是字符串类型给变量赋值。 用9天入门三门编程语言,有可能嘛,尤其是对没有基础的同学来说?对于想学好的编程的人来说,无论从哪一门语言开始入手,语言的本身其实并不是我们最应该的关心的,至少不是作为一...

    cangck_X 评论0 收藏0
  • 7天学会3门语言,第一天

    摘要:天入门三门编程语言,有可能嘛,尤其是对没有基础的同学来说对于想学好的编程的人来说,无论从哪一门语言开始入手,语言的本身其实并不是我们最应该的关心的,至少不是作为一个初学者首先关心的。 7天入门三门编程语言,有可能嘛,尤其是对没有基础的同学来说?对于想学好的编程的人来说,无论从哪一门语言开始入手,语言的本身其实并不是我们最应该的关心的,至少不是作为一个初学者首先关心的。 网络上,网友们争...

    aristark 评论0 收藏0
  • 7天学会3门语言,第一天

    摘要:天入门三门编程语言,有可能嘛,尤其是对没有基础的同学来说对于想学好的编程的人来说,无论从哪一门语言开始入手,语言的本身其实并不是我们最应该的关心的,至少不是作为一个初学者首先关心的。 7天入门三门编程语言,有可能嘛,尤其是对没有基础的同学来说?对于想学好的编程的人来说,无论从哪一门语言开始入手,语言的本身其实并不是我们最应该的关心的,至少不是作为一个初学者首先关心的。 网络上,网友们争...

    RebeccaZhong 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<