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

你们好,从本文开始将逐渐更新Python教程指南系列,为何叫指南呢?由于本系列是参考《Python3程序设计指南》,也是做者的学习笔记,但愿与读者共同窗习。python

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

Python的8个关键要素

Python的8要素

一、数据类型

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

    • Python所能表示的整数大小只受限于机器内存
    • 使用int()能够将字符串转换为整数,容许字符串头尾带有空格,例如:int("68")
  • str字符串(Unicode字符序列)数组

    • 使用方括号([])来存取字符串序列中的某一项
    • 使用str()几乎能够将任何数据项转换为字符串

二、对象引用

  • 定义:存储某种数据类型的变量
  • 语法:objectReference=value
  • 不须要预先的声明语句,也不须要指定数据类型
  • 在Python中,"="的做用是将对象引用与内存中的某对象进行绑定,若是对象引用已经存在,就简单的进行绑定,以便引用”=“操做符右面的对象;若是对象引用还没有存在,就由”=“操做符建立对象引用。
  • 限制:不能与任何Python关键字相同
  • Python使用 “动态类型” 机制,也就是说,在任什么时候刻,只要须要,某个对象引用均可以从新引用一个不一样的对象(能够是不一样的数据类型)。
temp = 123
print(temp, type(temp))
temp = 'hello'
print(temp, type(temp))

output:
123 <class 'int'>
hello <class 'str'>

三、组合数据类型

  • 元组列表能够用于存储任意数量、任意类型的数据项。元组是固定的,建立以后就不能改变;列表是可变的,在须要的时候,能够插入或者移除数据项。
  • 实质上,列表与元组并不真正存储数据项,而是存放对象引用,建立列表与元组时(以及在列表中插入数据项时),其实是使用其给定的对象引用的副本,在字面意义项(好比整数或字符串)的状况下,会在内存中建立适当数据类型的对象,而存放在列表或元组中的才是对象引用。
  • 点(存取属性)操做符用于存取某对象的属性

四、逻辑操做符

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来测试非成员关系。app

# 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返回布尔型结果

五、控制流语句

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

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的不少函数与方法都会产生异常,并将其做为发生错误或重要事件的标志。其语法为:ui

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

其中as variable部分是可选的。spa

六、算术操做符

  • 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']

七、输入/输出

  • 内置input()函数,用来接收用户的输入,输入以后按Enter键结束输入
  • 内置print()函数能够输出全部python数据类型

八、函数的建立与调用

建立函数语法:

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个关键要素,可是并无彻底介绍,好比数据类型不仅包括整形和字符串,后面的文章中还会详细介绍。

欢迎关注(C与Python实战)[ https://pythoncpp-1254282033....]
相关文章
相关标签/搜索