• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

Python语言基础知识

互联网 diligentman 1周前 (02-18) 8次浏览

注释

注释可以帮助阅读程序,通常用于概括算法、确认变量的用途或者阐明难以理解的代码段。随着程序越来越大、越来越复杂,就应在其中添加说明,对我们解决问题的方法进行大致阐述。在Python程序中有两种类型的注释,分别是单行注释和多行注释。

  1. 单行注释
    单行注释是只在一行中显示注释内容,Python中单行注释以井号(#)开头,井号(#)后面的内容都会被Python解释器忽略。
# 向大家问好
print('Hello Python people!')
  1. 多行注释
    多行注释也称为成对注释,这类注释的标记是成对出现的。在Python语言中,有两种实现多行注释的方法。
  • 第一种:用3个单引号’’'将注释括起来。
'''
print('nei hou')
print('nei hou')
print('nei hou')
'''
print('这是多行注释,用3个单引号')
  • 第二种:用3个双引号"""将注释括起来。
"""
print('nei hou')
print('nei hou')
print('nei hou')
"""
print('这是多行注释,用3个双引号')

注意:

  • 注释要放在被注释内容的上方或后面。
  • 函数头部需注释,包括文件名、作者信息、功能信息和版本信息。
  • 声明中文编码格式的方法是在文件开头加上如下代码
# coding = utf-8
#  或者
# coding = gbk

标识符

标识符是用来标识某个实体的一个符号。在编程语言中,标识符是计算机语言中作为名字的有效字符串集合。标识符是用户编程时使用的名字,变量、常量、函数、语句块也有名字,它们的名字称为标识符。

1、合法的标识符

在Python语言中,所有标识符可以包括英文、数字以及下划线,但要符合以下规则:

  1. 标识符开头必须是字母或下划线,剩下的字符可以是字母和数字或下划线。
  2. 标识符中不能出现分隔符、标点符号或者运算符。
  3. 标识符是区分大小写的。
  4. 标识符不能使用关键字。
  5. 标识符最好不要使用内置模块名、类型名、函数名、已经导入的模块名及其成员。

可以通过dir(__builtins__)查看所有内置函数和内置对象。

[‘ArithmeticError’, ‘AssertionError’, ‘AttributeError’, ‘BaseException’, ‘BlockingIOError’, ‘BrokenPipeError’, ‘BufferError’, ‘BytesWarning’, ‘ChildProcessError’, ‘ConnectionAbortedError’, ‘ConnectionError’, ‘ConnectionRefusedError’, ‘ConnectionResetError’, ‘DeprecationWarning’, ‘EOFError’, ‘Ellipsis’, ‘EnvironmentError’, ‘Exception’, ‘False’, ‘FileExistsError’, ‘FileNotFoundError’, ‘FloatingPointError’, ‘FutureWarning’, ‘GeneratorExit’, ‘IOError’, ‘ImportError’, ‘ImportWarning’, ‘IndentationError’, ‘IndexError’, ‘InterruptedError’, ‘IsADirectoryError’, ‘KeyError’, ‘KeyboardInterrupt’, ‘LookupError’, ‘MemoryError’, ‘ModuleNotFoundError’, ‘NameError’, ‘None’, ‘NotADirectoryError’, ‘NotImplemented’, ‘NotImplementedError’, ‘OSError’, ‘OverflowError’, ‘PendingDeprecationWarning’, ‘PermissionError’, ‘ProcessLookupError’, ‘RecursionError’, ‘ReferenceError’, ‘ResourceWarning’, ‘RuntimeError’, ‘RuntimeWarning’, ‘StopAsyncIteration’, ‘StopIteration’, ‘SyntaxError’, ‘SyntaxWarning’, ‘SystemError’, ‘SystemExit’, ‘TabError’, ‘TimeoutError’, ‘True’, ‘TypeError’, ‘UnboundLocalError’, ‘UnicodeDecodeError’, ‘UnicodeEncodeError’, ‘UnicodeError’, ‘UnicodeTranslateError’, ‘UnicodeWarning’, ‘UserWarning’, ‘ValueError’, ‘Warning’, ‘WindowsError’, ‘ZeroDivisionError’, ‘build_class’, ‘debug’, ‘doc’, ‘import’, ‘loader’, ‘name’, ‘package’, ‘spec’, ‘abs’, ‘all’, ‘any’, ‘ascii’, ‘bin’, ‘bool’, ‘breakpoint’, ‘bytearray’, ‘bytes’, ‘callable’, ‘chr’, ‘classmethod’, ‘compile’, ‘complex’, ‘copyright’, ‘credits’, ‘delattr’, ‘dict’, ‘dir’, ‘divmod’, ‘enumerate’, ‘eval’, ‘exec’, ‘exit’, ‘filter’, ‘float’, ‘format’, ‘frozenset’, ‘getattr’, ‘globals’, ‘hasattr’, ‘hash’, ‘help’, ‘hex’, ‘id’, ‘input’, ‘int’, ‘isinstance’, ‘issubclass’, ‘iter’, ‘len’, ‘license’, ‘list’, ‘locals’, ‘map’, ‘max’, ‘memoryview’, ‘min’, ‘next’, ‘object’, ‘oct’, ‘open’, ‘ord’, ‘pow’, ‘print’, ‘property’, ‘quit’, ‘range’, ‘repr’, ‘reversed’, ‘round’, ‘set’, ‘setattr’, ‘slice’, ‘sorted’, ‘staticmethod’, ‘str’, ‘sum’, ‘super’, ‘tuple’, ‘type’, ‘vars’, ‘zip’]

2、下划线标识符

以下划线开头的标识符具有特殊意义。

  1. 以单下划线开头(_xxx)的标识符代表不能直接访问的类属性,需要通过类提供的接口进行访问,不能用“from xxx import x” 导入。
  2. 以双下划线开头(__xxx)的标识符代表类的私有成员。
  3. 以双下划线开头和结尾(__xxx__)的标识符代表Python中特殊方法专用的标识,如__init__代表类的构造函数。

关键字

在Python中,有一部分是关键字,构成语言的标识符,这样的标识符是保留字,不能用于其他用途,否则会引起语法错误。我们可以导入keyword模块查看所有Python关键字。

import keyword
print(keyword.kwlist)
Symbol Description
and 用于表达式运算,表示逻辑与操作
as 用于类型转换
assert 断言,用于判断变量或条件表达式的值是否为真
break 中断循环语句的执行
class 用于定义类
continue 继续执行下一次循环
def 删除变量或者序列的值
elif 条件语句,与if else结合使用
else 条件语句,与if else结合使用,也可用于异常和循环
except 包括捕获异常后的操作代码,与try和finally结合使用
finally 用于异常语句,出现异常后,始终要执行finally包含的代码块,与try、except结合使用
for 循环语句
from 用于导入模块,与import结合使用
global 定义全局变量
if 条件语句,与else、elif结合使用
import 用于导入模块,与from结合使用
in 判断变量是否存在序列中
is 判断变量是否为某个类的实例
lambda 定义匿名函数
nonlocal 用于表示外部作用域的变量
not 用于表达式运算,表示逻辑非操作
or 用于表达式运算,表示逻辑或操作
pass 空的类、函数、方法的占位符
raise 异常抛出操作
return 用于从函数返回计算结果
try 包含可能会出现异常的语句,与except、finally结合使用
while 循环语句
with 简化Python的语句
yield 用于从函数依次返回值

注意:None是一个特殊的Python对象,和False不同,不是0,也不是空字符串、空列表等。None有自己的数据类型NoneType,None和任何其他数据类型进行是否相等比较结果返回永远是False。可以将None赋值给任何变量,但是不能创建其他NoneType对象。

变量

变量可以通过变量名访问,变量通常是可变的。Python语言同样可以定义变量,用于表示可变数据。变量具有名字,不同变量是通过名字相互区分的,因此变量名具有标识作用,也就是标识符。以下是Python变量名的命名规则:

  1. 变量名只能包含字母、数字和下划线,但不能用数字开头。例如可将变量命名为message_1,但不能将其命名为1_message。
  2. 变量名不能包含空格,但可使用下划线来分隔其中的单词。例如变量名greeting_message可行,但变量名greeting message会引发错误。
  3. 不要将Python关键字和函数名用作变量名。
  4. 除了下划线之外,其他符号不能作为变量名使用。
  5. 变量名应既简短又具有描述性。例如,name比n好,student_score比s_s好。
  6. 慎用小写字母l和大写字母O,因为它们可能会被看成数字1和0。
message = 'Hello Python world!'
print(message)

# 同时赋予多个变量
x,y = 1,2
print('x:%s,y:%s'%(x,y))

数据类型

Python语言中提供了几种数据类型,如数值(int、float、和complex)、布尔(bool)、字符串(str)、列表(list)、元组(tuple)、字典(dict)等。

1、整数型int

整数是没有小数部分的数值,分为正整数、0和负整数。例如下列值都是合法的整数:

100 、 0、 -100

2、浮点型float

浮点数是包含小数点的数或科学计数法表示的数。例如下列值都是浮点数:

-56 、 0.19 、 10.0 、 5.12e2 、 3.14e-1 、22.1E-10

3、复数型complex

复数由实数部分和虚数部分构成,复数形式为:实部+虚部 j 或者complex(a,b)

3.14j 、 5.213e-11j 、 -0.987+0j

4、布尔型

布尔型是一种表示逻辑值的简单类型,它的值只能是真或假这两个值中的一个,即True和Flase.


>>> 10>8
True
>>> 1+2==2+1``
True
>>> True and False
False
5、字符串

可以使用单引号、双引号、三引号来创建字符串。

‘Hello’ 、 “Python” 、 ‘’‘11111’’’

6、列表list

列表用中括号“[“和”]”将列表中的元素括起来,元素间以逗号分隔。

[1,2,3] 、 [‘apple’,‘pear’,‘orange’]

7、元组tuple

元组用"(“和”)"作为边界将元素括起来,元素间以逗号分隔。

(1,2,3) 、 (‘apple’,‘pear’,‘orange’)

8、字典dict

字典是Python中唯一内建的映射类型,可用来实现通过数据查找关联数据的功能。字典是键值对的无序集合。字典中每个元素都包含键和值两部分。字典用大括号{ }来表示,键和值间用冒号分隔,元素之间用逗号分隔。

{‘语文’:‘122分’,‘数学’:‘110分’,‘英语’:‘125分’}

9、集合set

Python中集合是一组对象的集合,对象可以是各种不可变类型。集合可以由各种不可变类型元素组成,但元素之间没有任何顺序,并且元素都不重复。

(‘apple’,‘pear’,‘orange’,‘peach’)

运算符

1、算术运算符

通常用于实现数学运算功能。

运算符 功能
+ 加,实现两个对象相加
减,得到负数或表示一个数减去另一个数
* 乘,实现两个数相乘或者返回一个被重复若干次的字符串
/ 除,实现一个数除以另一个数
% 取模,返回除法的余数
// 取整除,返回商的整数部分,不包含余数
** 幂,返回x的y次幂
2、比较运算符

也称为关系运算符,表示两个变量或常量之间的关系,可用来比较两个数字的大小。

运算符 功能
> 大于,用于返回x是否大于y
< 小于,用于返回x是否小于y
>= 大于等于,用于返回x是否大于等于y
<= 小于等于,用于返回x是否小于等于y
== 等于,用于比较对象是否相等
!= 不等于,用于比较对象是否不相等
3、测试运算符

也称为成员运算符,能够测试实例中包含的一系列成员,包括字符串、列表或元组。

运算符 功能
in 如果在制定序列中找到值则返回True;否则,返回False
not in 如果在制定序列中没有找到值则返回True;否则,返回False
4、逻辑运算符
运算符 功能
and x为 False,x and y 返回False, 否则它返回y的计算值
or x为 True,x or y 返回True, 否则它返回y的计算值
not x为 True,not x 返回False,;x为False ,not x 返回 True

表达式

案例

根据以下叙述写出正确的条件表达式:
有语文(Chinese)、数学(Math)、英语(English)三门课程,均采用百分制,60分及以上及格,90分及以上优秀。
(1)三门课程都及格
(2)至少一门课程及格
(3)语文及格且数学或者英语优秀

# 第一小题
Chinese >= 60 and Math >= 60 and English >= 60
# 第二小题
Chinese >= 60 or Math >= 60 or English >= 60
# 第三小题
(Chinese >= 60) and (Math >= 90 or English >= 90)

内置函数

Python内置了一系列的常用函数,不需要额外导入任何模块就可以直接使用,运行速度较快,非常方便。我们可以使用内置函数 dir( ) 查看所有的内置函数和内置对象,还可以通过help(函数名) 查看某个函数的用法。

常用内置函数
函数 功能
abs(x) 返回数字x的绝对值;如果x为复数,返回值就是该复数的模
bin(x) 把整数x转换为二进制
divmod(x,y) 函数返回整商和余数的元组
id(x) 返回对象x的标识(内存地址)
len(x) 返回对象x(列表、元组、字典、字符串、集合、range对象)的元素个数
max(x)、min(x) 返回给定参数的最大值、最小值,参数可以为可迭代对象
pow(x,y) 返回以x为底,y为指数的幂
range([start, ]end[,step]) 返回range对象,该对象包含按参数([start,] end)范围内,step为步长
round(x[,n]) 返回浮点数x的四舍五入值,若不给出n值,则返回整数;给出n值,则代表舍入到小数点后的位数
sum(iterable,start=0,/) 返回序列iterabla中所有元素之和,如果指定起始值start,则返回start+sum(iterable);如果iterable为空,则返回start
type(x) 返回对象x的数据类型
常用内置类型转换函数
函数 功能
chr(x) 返回Unicode编码为x所对应的字符
ord(x) 返回一个一个字符的Unicode编码
案例

1、通过输入函数input()输入股票代码、股票名称、当天股票最高价和最低价,通过输出函数print()输出股票代码+股票名称、最高价、最低价和差价。

# 法一
stock_code = int(input('请输入股票代码:'))
stock_name = input('请输入股票名称:')
highest = float(input('请输入股票当天最高价:'))
lower = float(input('请输入股票当天最低价:'))
diff = highest-lower
print('股票代码+股票名称:%s+%s,最高价:%s,最低价:%s,差价:%s'
%(stock_code,stock_name,highest,lower,diff))

# 法二(用split和 map
print('输入以","分隔')
nn=input('请输入股票代码和股票名称:')
code,name = map(str,nn.split(','))
hl = input('请输入当天最高价和最低价:')
highest,lower = map(float,hl.split(','))
diff = highest-lower
print('股票代码+股票名称:%s+%s'%(code,name))
print('最高价:%.2f,最低价:%.2f,差值:%.2f'%(highest,lower,diff))

2、请编写一个程序,能接受用户输入的一个复数的实部和虚部,输出其复数表示形式,以及其模。

# 法一
import math
a = float(input('请输入复数的实部:'))
b = float(input('请输入复数的虚部:'))
c = math.sqrt(a**2+b**2)
print('复数:'+str(a)+'+'+str(b)+'i')
print('模为:',c)

# 法二
import math
x = input('请输入复数的实部和虚部:')
a,b = map(float,x.split())
m = complex(a,b)
c = abs(m)
print('输入的复数为:'+str(m),',模为:'+str(c))


程序员灯塔
转载请注明原文链接:Python语言基础知识
喜欢 (0)