Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Python指南:Python的8个关键要素

Python指南:Python的8个关键要素

作者头像
王强
发布于 2018-08-09 10:01:45
发布于 2018-08-09 10:01:45
61500
代码可运行
举报
文章被收录于专栏:Python爬虫实战Python爬虫实战
运行总次数:0
代码可运行

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
.py文件中的每个估计都是顺序执行的,从第一行开始,逐行执行的。    

Python的8个关键要素

Python的8要素

1、数据类型

  • int整数(正整数或负整数)
  • Python所能表示的整数大小只受限于机器内存
  • 使用int()可以将字符串转换为整数,允许字符串头尾带有空格,例如:int("68")
  • str字符串(Unicode字符序列)
  • 使用方括号([])来存取字符串序列中的某一项
  • 使用str()几乎可以将任何数据项转换为字符串

2、对象引用

  • 定义:存储某种数据类型的变量
  • 语法:objectReference=value
  • 不需要预先的声明语句,也不需要指定数据类型
  • 在Python中,"="的作用是将对象引用与内存中的某对象进行绑定,如果对象引用已经存在,就简单的进行绑定,以便引用”=“操作符右面的对象;如果对象引用尚未存在,就由”=“操作符创建对象引用。
  • 限制:不能与任何Python关键字相同
  • Python使用 “动态类型” 机制,也就是说,在任何时刻,只要需要,某个对象引用都可以重新引用一个不同的对象(可以是不同的数据类型)。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
temp = 123
print(temp, type(temp))
temp = 'hello'
print(temp, type(temp))

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

3、组合数据类型

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

4、逻辑操作符

4.1 身份操作符:is

  • 并不必须对进行比较的对象本身进行检查,is操作符只需要对对象所在的内存地址进行比较——同样的地址存储的是同样的对象。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 比较操作符:==、!=、>、>=、<、<=

  • 与身份运算符不同,比较运算符进行的是值比较,即比较两个引用对象所指向的值。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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
  • 结链比较
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
a = 9
print(0 <= a <= 10)

output:
True

4.3 成员操作符:in

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 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…)

语法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if boolean_expression1:
    suite1
elif boolean_expression2:
    suite2
else:
    suite3

5.2 while语句

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
while boolean_expression:
    suite

5.3 for…in语句

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
for variable in iterable:
    suite

5.4 基本的异常处理

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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、函数的创建与调用

创建函数语法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def functionName(arguments): 
    suite
  • arguments可选,如果为多个参数,用逗号隔开
  • 每个函数有一个返回值,默认为None,可以使用return value来制定返回值,可以是一个值,也可以是一组值
  • 执行def时会创建一个函数对象,同时创建一个带有指定名的对象引用

实例

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

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

  • 首先引入random模块,该模块用于生成随机数:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import random
  • 构建获取用户输入函数 该函数需要3个参数:msg为提示信息,minimum为最小值,default为默认值。该函数的返回值有两种情况:default(用户没有输入直接按Enter键),或者一个有效的整数。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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)
  • 让用户输入相关的值
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 用户输入行数
rows = get_int('rows:', 1, None)
# 用户输入列数
columns = get_int('columns', 1, None)
# 用户输入最小值
minimum = get_int('minimum(or Enter for 0):', -10000, 0)

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

# 用户输入最大值
maximum = get_int('maximum (or Enter for' + str(default) + ')', minimum, default)
  • 根据用户输入输出随机值:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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

以下为输出信息:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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个关键要素,但是并没有完全介绍,比如数据类型不只包括整形和字符串,后面的文章中还会详细介绍。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-03-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 C与Python实战 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Python:基础入门
#Python逻辑运算:和,或,非 #Python中没有&&,|| !!短路逻辑运算符替代用和,或,不分别替代 打印(“ ===============================逻辑运算符============ =================== ) a = 1 ; b = 2 ; 打印(“ a =” ,a) 打印(“ b =” ,b) 打印(“ a和b:” ,a 和 b) 打印(“ b和a:” ,b 和 a) 打印(“ a或b:” ,a 或 b) 打印(“ b或a
py3study
2020/01/13
7780
【Python】02、Python过程型
通过某种方式(例如对元素进行编号)组织在一起的数据元素的集合,这些数据元素可以是数字或者字符,甚至可以是其它的数据结构。
py3study
2020/01/15
7850
python之基础篇(二)
数据结构就是通过某种方式(例如对元素进行编号)组织在一起的数据元素的集合。这些数据元素可以是数字或者字符,甚至可以是其它类型的嵌套的数据结构
py3study
2020/01/14
1.2K0
Python语言笔记
标识符 第一个字符必须是字母表中字母或下划线'_'。 标识符的其他的部分有字母、数字和下划线组成。 标识符对大小写敏感。
py3study
2020/01/14
1.3K0
Python指南:组合数据类型
Python提供了5中内置的序列类型:bytearray、bytes、list、str与tuple,序列类型支持成员关系操作符(in)、大小计算函数(len())、分片([]),并且是可可迭代的。
王强
2018/08/09
3K0
Python指南:组合数据类型
python学习笔记之初识Python
一直听说python语音的简单易用而又强大,今天终于忍不住借本书,开始接触接触一下它,下面结合书本和自己的一些体会,写一下刚刚接触python的东西,重点写一些和C++有区别的地方。 (1)输入input()、输出print() 注意输入input()括号中是提示符,返回值才是输入的数 如a=input("请输入一个数") (2)数据类型 1)python中使用变量不需要提前对变量进行声明,可以直接使用,这点倒有点想MATLAB,而不是C。 2)python中所表示的整数大小只受限制于内存的大小,并不是固定
用户1215536
2018/02/05
1K0
python学习笔记之初识Python
Python3入门学习一.md
在Linux中安装Python3命令,在官网下载 https://www.python.org/downloads/source/
全栈工程师修炼指南
2020/10/23
1.4K0
Python3入门学习一.md
Python3 从入门到开车
在python中预定义为常量False的bool表达式. 特殊对象None. 空序列或集合. 值为0的数值型数据项的bool结果为False,其他的都为True. 追加的还有:^(xor),<<左移,>>右移,~反转。
py3study
2020/01/03
6290
[Python]基本概念与操作1(针对Python2)
原文链接:http://blog.csdn.net/humanking7/article/details/45276831
祥知道
2020/03/10
3360
Python 3.7.0 笔记(不完整)
Python break语句,就像在C语言中,打破了最小封闭for或while循环。 break语句用来终止循环语句,即循环条件没有False条件或者序列还没被完全递归完,也会停止执行循环语句。 break语句用在while和for循环中。 如果您使用嵌套循环,break语句将停止离它最近的循环,并开始执行下一行代码。
py3study
2020/01/08
1.4K0
Python(1)
      Python在设计上坚持了清晰划一的风格,这使得Python成为一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言。
py3study
2020/01/10
7000
Python编程入门(一)
=========================================================================================
py3study
2020/01/06
5200
Python 自动化指南(繁琐工作自动化)第二版:四、列表
在开始认真编写程序之前,您需要理解的另一个主题是列表数据类型及其表亲元组。列表和元组可以包含多个值,这使得编写处理大量数据的程序更加容易。由于列表本身可以包含其他列表,您可以使用它们将数据组织成层次结构。
ApacheCN_飞龙
2023/04/04
1.6K0
Python 自动化指南(繁琐工作自动化)第二版:四、列表
【Python】04、python基础数
          就是说不能再重新赋值,很像shell中的只读变量,python中不存在常量
py3study
2020/01/15
1K0
Python 【基础常识概念】
下面再来看一个例子,例3中同一类型下的a和b的(a==b)都是为True,而(a is b)则不然。
IT茂茂
2020/03/19
1.2K0
python
目录:又称为文件夹,是包含所有的文件 路径:是反映目录和文件的位置 文件位置:windows:盘符:\文件夹\文件的avi linux:/home/主文件夹/0520/day01/a
yaoyaoah
2020/04/09
9170
【Python编程导论】第二章-Python简介
低级编程与高级编程:二者之间的区别是,编写程序时,我们是使用机器层次的指令和数据对象(底层操作),还是使用语言设计者提供的更为抽象的操作(图形用户界面,UI)。
Datawhale
2019/07/08
8040
Python基础(一)
一共四篇,声明下:Python的入门难度为0,比Java,C++根本不能比,你会英语基本没问题。
润森
2020/03/31
9410
Python基础(一)
Python 进阶指南(编程轻松进阶):十七、Python 风格 OOP:属性和魔术方法
很多语言都有 OOP 特性,但是 Python 有一些独特的 OOP 特性,包括属性和魔术方法。学习如何使用这些 Python 风格技巧可以帮助您编写简洁易读的代码。
ApacheCN_飞龙
2023/04/09
7190
Python学习笔记之基础知识点概览
位运算符是将操作数(二进制形式)执行逐位运算, bin()可用于获取整数的二进制运算
青山师
2023/05/05
6140
相关推荐
Python:基础入门
更多 >
LV.0
这个人很懒,什么都没有留下~
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验