Python复习系列:Python基础知识(一)

Python基础知识(一)

(一)Python语言简介

1. Python语言概述

​ python是一门跨平台,开源,免费的解释型计算机程序设计语言。

2. Python语言特点

​ 语法简洁,清晰,比较容易学习和掌握。

​ python是一门跨平台,开源,免费的解释型高级动态编程语言

​ python支持命令式编程,函数式编程,完全支持面向对象程序设计,拥有大量的拓展库

​ 采用强制空格缩进的方式使得代码具有较好的可读性。

3. Python的版本

​ python目前存在2.x和3.x两个系列的版本,互相之间不兼容。

​ python2.x系列最迟将于2020年全年放弃维护和更新。

4. Python编程规范

(1) 缩进

​ 类定义、函数定义、选择结构、循环结构、with块,行尾的冒号表示缩进的开始。

​ python程序是依靠代码块的缩进来体现代码之间的逻辑关系的,缩进结束就表示一个代码块结束了。

​ 同一级别的代码块的缩进量必须相同。

​ 一般而言,以4个空格位基本缩进单位。

(2) 每一个import语句只能导入一个模块,最好按标准库,拓展库,自定义库的顺序依次导入。

​ (3) 在每个类、函数定义和一段完整的功能代码之后增加一个空行,在运算符两侧各增加一个空格,逗号后面增加一个空格。

​ (4) 尽量不要写过长的语句。如果语句过长,可以考虑拆分成多个短一些的语句,以保证代码具有较好的可读性。如果语句确实太 长代码具有较好的可读性。如果语句确实太长而超过屏幕宽度,最好使用续行符“ \ ”,或者使用圆括号将多行代码括起来表示 是一条语句。

​ (5) 虽然Python运算符有明确的优先级,但对于复杂的表达式建议在适当的位置使用括号使得各种运算的隶属关系和顺序更加明 确、清晰。

(6) 注释

​ 以符号#开始,表示本行#之后的内容为注释。

​ 包含在一对三引号’’’…’’'或""".…"""之间且不属于任何语句的内容将被解释器认为是注释。

(二)Python语言基础语法

1. 库的导入和使用

python标准库和拓展库中的对象必须先导入才能使用。有三种导入方式。

import 模块名 [as 别名]

这种方法一次可以导入多个模块。但在使用模块中的类,方法,函数,常数等内容时,需要在它前面加上模块名。

import math
print(math.pow(2, 3)) 
#8.0
import math as ma
print(ma.pow(2, 3))
#8.0
from 模块名 import*

这种方法一次导入一个模块中的所有内容,如某个函数。使用时不需要添加模块名为前缀。可读性较差。

from math import*
print(pow(2,3))
print(sqrt(9))
print(pi)
#8.0
#3.0
#3.141592653589793
from 模块名 import 对象名 [as 别名]

这种方法一次导入一个模块中的指定内容,如某个函数。调用时不需要添加模块名为前缀。

from math import pow,pi
print(pow(2,pi))
#8.824977827076287

2. Python常用内置对象

在python中处理的一切都是对象,整数,实数,复数,字符串,列表,元组,字典,集合都是对象,zip,map,enumerate,filter等函数返回的也是对象,函数和类也是对象。

python中有内置对象,标准库对象和扩展库对象,其中内置对象可以直接使用。

非内置对象需要导入模块才能使用,如正弦函数sin(x),随机数产生函数random( )等
在这里插入图片描述
在这里插入图片描述

2.1 常量与变量

在Python中,不需要事先声明变量名及其类型,直接赋值即可创建各种类型的对象变量。这一点适用于Python任意类型的对象。

赋值语句的执行过程是:首先把等号右侧表达式的值计算出来,然后在内存中寻找一个位置把值存放进去,最后创建变量并指向这个内存地址。

Python中的变量 并不直接存储值, 而是存储了值的内存地址或者引用, 这也是变量类型随时可以改变的原因。

Python属于强类型编程语言,Python解释器会根据赋值或运算来自动推断变量类型。

Python还是一种动态类型语言,变量的类型也是可以随时变化的。

# 查看变量类型
x = 4
print(type(x))
x = 'hello word'
print(type(x))
x = [1,2,3]
print(type(x))

# 测试对象是否是某个类型的实例
print(isinstance(3, int))
print(isinstance('hello word',str))

<class 'int'>
<class 'str'>
<class 'list'>
True
True

在定义变量名的时候,需要注意以下问题:

变量名必须以字母或下划线开头,但以下划线开头的变量在Python中有特殊含义。

变量名中不能有空格以及标点符号(括号、引号、逗号、斜线、反斜线、冒号、句号、问号等等)。

不能使用关键字作变量名,可以导入keyword模块后使用print(keyword.kwlist)查看所有Python关键字。

变量名对英文字母的大小写敏感,例如student和Student是不同的变量。

不建议使用系统内置的模块名、类型名或函数名以及已导入的模块名及其成员名作变量名,这将会改变其类型和含义。

2.2 数字

在Python中,内置的数字类型有整数、实数和复数。

整数类型除了常见的十进制整数,还有:

二进制。以0b开头,每一位只能是0或1。

八进制。以0o开头,每一位只能是0、1、2、3、4、5、6、7这八个数字之一。

十六进制。以0x开头,每一位只能是0、1、2、3、4、5、6、7、8、9、a、b、c、d、e、f之一。

python支持任意大的数字(经受内存大小的限制)

print(99999 ** 99)

999010484943188636608805980402802915400434536979655386654009490813859457598616206837179821412302692420911878238392114694353872205705469979997758000847544074497398071603034467574810862492956315403164145181317850364010376300213453752437982265518464568325790559557401725276413045564927258325699353130042548208064924009216093547546101231747525975999315735437260590254281341103015581933843191009768771215462495272328209801935290153265929807401919949633636861142033871459231063562556848951490009899999

由于精度的问题,对于实数运算可能会有一定的误差,应尽量避免在实数之间直接进行相等性测试,而是应该以二者之差的绝对值是否足够小作为两个实数是否相等的依据。

print(0.3-0.2==0.1)  # False
print(abs(0.4-0.1 - 0.3) < 1e-6) # True

在数字的算术运算表达式求值时会进行隐式的类型转换,如果存在复数则都变成复数,如果没有复数但是有实数就都变成实数,如果都是整数则不进行类型转换。

x = 3 + 4j                 #使用j或J表示复数虚部
y = 5 + 6j
print(x + y)               #支持复数之间的加、减、乘、除以及幂乘等运算
print(x*y)
print(abs(x))              #内置函数abs()可用来计算复数的模
print(x.imag)              #虚部
print(x.real)              #实部
print(x.conjugate())       #共轭复数

(8+10j)
(-9+38j)
5.0
4.0
3.0
(3-4j)
2.3 字符串

在Python中,没有字符常量和变量的概念,只有字符串类型的常量和变量,单个字符也是字符串。使用单引号、双引号、三单引号、三双引号作为定界符来表示字符串,并且不同的定界符之间可以互相嵌套。

Python 3.x全面支持中文,中文和英文字母都作为一个字符对待,甚至可以使用中文作为变量名。

除了支持使用加号运算符连接字符串以外,Python字符串还提供了大量的方法支持格式化、查找、替换、排版等操作。

2.4 列表 元组 字典 集合

在这里插入图片描述

x_list = [1, 2, 3]                 #创建列表对象
x_tuple = (1, 2, 3)                #创建元组对象
x_dict = {
   'a': 97, 'b': 98, 'c': 99}  #创建字典对象
x_set = {
   1, 2, 3}                  #创建集合对象
print(x_list[1])                   #使用下标访问指定位置的元素
print(x_tuple[1])                  #元组也支持使用序号作为下标
print(x_dict['a'])                 #字典对象的下标是“键”
print(3 in x_set)                  #成员测试

2
2
97
True
2.5 Python运算符与表达式

在这里插入图片描述

算术运算符
print([1, 2, 3] + [4, 5, 6])          # 连接两个列表 [1, 2, 3, 4, 5, 6]
print((1, 2, 3) + (4,))               # 连接两个元组 (1, 2, 3, 4)
print('abcd' + '1234')                # 连接两个字符串 abcd1234
# print('A' + 1)                      # 不支持字符与数字相加,抛出异常
print(True + 3)                       # Python内部把True当作1处理 4
print(False + 3)                      # 把False当作0处理 3

print(True * 3)                       # 3
print(False 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿小张的日常笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值