这篇文章主要介绍了python必考题答案,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。
一、pyhon简介
1. 程序
程序是指挥cpu工作的“工作手册”PYTHON库“IMITATION”。计算机只能执行二进制代码,程序设计语言一般类似英文,想要让计算机理解你写的程序,必须把程序代码“翻译”成计算机能理解的二进制代码,根据形式的不同,可以分为编译型语言和解释性语言
- 编译型:将程序代码翻译成计算机能理解的二进制目标代码,会生成特定的可执行代码(在window上是exe文件),可执行代码是二进制的,无法看到源代码```*``然后执行可执行代码就可以得到想要的结果,例如:c、c++、oc等
- 解释型: 将程序代码一句一句翻译为计算机可以执行的指令,立即执行,不会生成可执行文件 ,例如:python、php、JavaScript等
2.Pthon简介
Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆 于1990 年代初设计,作为一门叫做ABC语言的替代品神码ai火车头采集器伪原创。 [1] Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言, [2] 随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发
3.python的特点:
- 是一种解释性语言【开发过程中没有了编译的环节】
- 是交互式的语言【可以直接互动执行Python程序】
- 是面向对象的语言
- 是跨平台语言【可以运行在不同的操作系统上】
- 适合初学者
二、Python入门 [PyCharm]
1、新建工程
(1)、编写python代码
(2)、点击绿色箭头运行代码
(3)、控制台查看结果
接下来我们充满了疑惑,我们一一解答
三、Python基本语法
1、python文件格式以及语法规则
- python文件后缀以py结尾
- 一行一个语句,不用以分号做结尾
- 如果一行上有多个语句,则每个语句必须以分号做结尾
- 文件名尽量不用使用中文,不要包含空格
- 不要混合使用tab键和空格缩进,缩进用于区分代码块
- 除了在引号里(单引号、双引号)中,其它地方不要使用中文,要用英文半角
- python编码规范遵循PEP8(https://www.python.org/dev/peps/pep-0008/)
2、python变量和常量
- 变量是用来保存数据的
- 在程序中,变量的值是可以改变的,所以叫变量,不能改变的叫常量
变量的定义
语法:变量名 = 字面量
# 变量的使用
name = 'guan'
age = '18'
print("姓名:", name)
print("年龄:", age)
运行结果:
变量名命名规范
变量名也可称之为标识符(变量名、函数名、类名、包名等统称为标识符)
其命名要符合python的语法要求:
- 由数字、字母、下划线组成,不能以数字开头
- 严格区分大小写
- 不能是python的关键字(保留字)
变量命名风格
- 见名知意,有自描述性
- 不建议使用中文命名变量
- 一般变量可以用小驼峰规则:变量名由多个单词组成,第一个单词首字母小写,其它单词首字母大写
- 也可以全部变量名都小写,单词之间用下划线分隔
变量和内存和in()、type()函数
- python中一切都是对象,python中变量保存了对象的引用
- 变量的好比是一个容器,容器中保存的变量所指对象的引用(地址)
- 变量本身是没有类型的,变量的类型是指其所指对象的类型
- 比如说变量是一个瓶子,盛了醋就是醋瓶,盛了酱油就是酱油瓶
- python中变量的所指对象的地址可以用id函数获取
- 获取变量的类型可以使用type函数
parm = '12'
# id(num)函数的使用
print('变量内存中的地址:',id(parm))
# type(parm)函数的使用
print('这个变量的数据类型:', type(parm))
常量
- 常量就是不可变的量
-
python没有专门的常量类型,一般约定俗成使用大写表示常量
# 定义常量
PI = 3.14
print(PI)
3、Python关键字
4、Python保留字
5、Python的输入函数input() 和输出函数print()
input()函数语法规则:result = input('输入内容')
- 接受一个标准输入数据,返回string数据类型
- 在命令行输入一行信息,会将这行信息返回成字符串
使用
# input函数的使用
name = input('请输入您的姓名:')
print('你的名称为:',name)
print()函数语法规则:print(object,end = '')
- 将你希望的信息在控制台输出
- end ='结尾符,默认是换行'
# emd ='结尾的内容'
print('Hello World', end='')
print('This is content',end='。。。。')
# print打印多个信息
print('This is one','two','three')
6、Python的注释
# 这是python的单行注释
'''
这是python的多行注释
'''
"""
这是python的多行注释
"""
7.python的数据类型
不同类型的变量可以进行的运算是不同的,所以必须理解变量的类型,python中数据类型可以分为内置类型和自定义类型
内置类型:
- 数值类型:number
- 字符串类型:string
- 布尔类型:boolean
- 空类型: None
- 列表类型:list
- 元组类型:tuple
- 字典类型:dict
自定义类型:class
(1)数值类型
数值类型分为两种,整形(int)、浮点型(float)
整形
- 整形就是我们说的整数,0也是整数,但是特殊的整数
- int是整形的代表,又是定义整形的内置函数
- 定义整形有两种语法规则
- 1、使用int内置函数:int(value)
- 2、直接复制:num = value
'''
整形的使用
'''
# 第一种:使用内置函数int()
num = int(666)
# 第二种:直接赋值
num2 = 999
# 输出类型和值
print('num的值为:', num)
print('num的数据类型为:', type(num))
print("-------------------------------")
print('num的值为:', num2)
print('num的数据类型为:', type(num2))
浮点型
- 浮点型就是我们生活中的小数,基本带小数点的数字我们基本称为float浮点型
- 在python中,float即使浮点型的代表,又是内置函数定义
- 语法:
- 1、使用内置函数float函数定义浮点数:f1 = float(value)
- 2、使用直接赋值定义浮点数:f2 = value
'''
浮点数的使用
'''
# 1、使用内置函数float()定义浮点数
f1 = float(3.14)
# 2、直接赋值
f2 = float(4.13)
# 输出变量的类型和值
print('f1变量的值:', f1)
print('f1变量的数据类型:', type(f1))
print('---------------------')
print('f2变量的值:', f2)
print('f2变量的数据类型:', type(f2))
(2) 字符串类型
- 用单引号‘str’或者双引号"str"包裹的信息就是字符串
- 字符串中可以包含任意字符:如字母、数字、符号,且没有先后顺序
- 在python中,使用str来代表字符串类型,并且通过str函数来定义字符串
- 字符串是不可以改变的,如果改变了,他的内存地址会改变
''' 字符串的使用 ''' # 1、使用str()函数定义字符串 str1 = str('我是字符串1') # 2、使用直接赋值的方式定义字符串 str2 = '我是字符串1' # 输出字符串变量和数据类型 print("str1的值:", str1) print("str1的数据类型:", str1) print('-------------') print("str2的值:", str2) print("str2的数据类型:", str2) # 字符串是不可变的,当我们重新赋值的时候, 内存会开辟新的空间存储 print('没有修改前的内存地址:', id(str1)) # 1892296755776 str1 = 'new Data' print('修改后的内存地址:', id(str1)) # 1892296622384 我们发现内存地址发生了改变
字符串内置函数len()函数的使用
- len()函数返回字符串的长度
- 无法返回数字类型的长度,因为数字类型没有长度
- 语法:返回值 = len(’字符串‘)
# len() 函数的使用
str1 = "我是字符串"
print('字符串的长度:', len(str1))
字符串内置函数in和not in的使用
- in()和not in()内置函数在字符串中判断字符串中是否你要的成员
- 语法:结果 = 'str1' in 'str2'
- 语法:结果 = 'str1' not in 'str2'
- in如果在里面返回true,不在返回false
- not in 不在返回true,在返回false
# in函数的使用
str = 'Hello World'
str1 = 'Hello'
# 测试in函数
print('str1 in str:', str1 in str)
print('str1 not in str:', str1 not in str)
内置函数max()和min()在字符串中的使用
- max函数返回数据中最大的成员
- 大小:中文字符>字母>数组>英文字符
- 中文按照拼音的首字母来计算
- 语法:max(str)
- min()函数返回数据中最小的成员
- 大小:中文字符>字母>数组>英文字符
- 中文按照拼音的首字母来计算
- 语法:min(str)
# max和min内置函数在字符串中的使用
str = "Hello World!"
print("max:", max(str))
print("min:", min(str))
字符串的拼接
当我们想要两个字符串连接起来的时候,可以使用字符串拼接符号:+
# 字符串的拼接
str1 = "Hello "
str2 = " World!"
print('字符串拼接的结果:', str1 + str2)
(3) 布尔类型
- 布尔类型是对真假的判断
- 默认值:True 代表真,False代表假
- bool代表布尔类型,也可以对于结果进行真假的判断
- 在计算机中,非0为True,0为false,空字符串为False,非空字符串为True
# 布尔类型的使用
# 使用bool()内置函数定义布尔类型
b1 = bool(True)
# 使用直接赋值定义布尔类型
b2 = False
# 输出
print('b1的值:', b1)
print('b1的数据类型:', type(b1))
print('-------------------------')
print('b2的值:', b2)
print('b2的数据类型:', type(b2))
print('-------------------------')
# 0 和非0
b3 = bool(0)
b4 = bool(1)
print(b3) # False
print(b4) # True
(4)空类型
- 空类型不输入任何数据类型
- 默认值为:None
- 空类型属于False
- 如果不确定类型的时候,可以使用空类型默认值
# 空类型的使用 n = None print('变量n的值:', n) print('变量n的值:', bool(n))
(5)列表类型
- 列表就是队列,他是各种数据类型的集合,也是一种数据结构
- 列表是有序的,内容可重复的集合类型
- 集合中可以定义不同的数据类型
- 定义列表类型可以使用内置函数list([ele,ele2])
- 也可以直接使用[]定义列表,列表的元素都存储在[]中
- 在Python中,列表是一个无限制长度的数据结构
# list列表的基本使用
# 使用内置函数list()
list1 = list([1,2,3,4,5])
# 使用[]赋值
list2 = ['str1', 'str2', 'str3']
list3 = ['data', 2, False, None]
# 输出
print('list1列表的值:', list1)
print('list1列表的数据类型:', type(list1))
print('----------------------')
print('list2列表的值:', list2)
print('list2列表的数据类型:', type(list2))
print('----------------------')
print('list3列表的值:', list3)
print('list3列表的数据类型:', list3)
in、max、min内置函数在list列表的使用
"""
in()内置函数在list的使用
元素 in list ,判断list列表中是否包含元素,包含返回true,不包含返回false
"""
mList = [1, 2, 3, 4, 5]
print(1 in mList) # True
print('13' in mList) # False
"""
max内置函数在list的使用
max(list),返回列表最大的元素
"""
print(max(mList)) # 5
"""
min内置函数在list的使用
min(list),返回列表最小的元素
"""
print(min(mList)) # 1
(6)元组类型
- 元组与列表一样,都是一种可以存储多种数据结构的队列
- 元组是一个有序的,且元素可以重复的集合
- 在python中,typle代表着元组这种数据类型,也可以用它来定义一个元素
- 元组定义是存在一个小括号中(ele,ele2,...,elen)
- 元组是一个无限制长度的数据结构
- 与列表相比,元组比列表占用资源更小,列表是可变的,元组是不可变的
"""
tuple元组的使用
"""
# 1、使用内置函数tuple()定义元组
mTuple = tuple((1, 2, 3, 4, 5, 6, 7))
# 2、使用直接赋值的方式定义元组
mTuple2 = ("one", "two", "three", "four", "five")
print('mTuple的值:', mTuple)
print('mTuple的数据类型:', type(mTuple)) # <class 'tuple'>
print('-----------------')
print('mTuple2的值:', mTuple2)
print('mTuple2的数据类型:', type(mTuple2))
print('-----------------')
# 元组是不可变的 我们尝试修改它 的值,看它的内存地址
print('没修改前id地址:', id(mTuple))
mTuple = ("one","two","three")
print('修改后id地址:', id(mTuple))
in、max、min内置函数在list列表的使用和list差不多,但是需要注意的是,元组中的元素不能是多种类型,如果类型不同意,则会报错
(7)字典类型
- 字典是由多个键key及其对应的值value所组成的一种数据类型
- 在python中,dict用来代表字典,并且可以使用dict()函数来创建字典
- 可以通过{}来将一个个key和value存入字典中
- key键支持字符串、数组、元组乐行,但是不支持列表
- value值支持所有的数据类型
- 在python3.7之前字典是无序的,3.7之后是有序的
- 字典中每一个key是唯一的,不能重复
"""
dict字典的使用
"""
# 1、使用内置函数dict()实例化dict变量
mDict = dict({"name": "guan", "age": 13})
# 2、直接赋值方式实例化字典数据类型
mDict2 = {"privince": "广东", "city": '梅州'}
print("mDict的值:", mDict)
print("mDict的数据类型:", type(mDict))
print("---------------------------")
print("mDict2的值:", mDict2)
print("mDict2的数据类型:", type(mDict2))
8.Python的运算符和表达式
在以前数据中,70+80的运算我们在计算机中称为表达式,其中的+号称为运算符
(1)算数运算符
a=10;
b=20
运算符 | 描述 | 实例 |
---|---|---|
+ [加] | 两个对象相加 | a+b ;结果30 |
- [减] | 一个数减去另一个数或得到负数 | -b,结果-20 |
* [乘] | 一个数乘另一个数 | a*b;200 |
/ [除] | 一个数除一个数 | b/a;2 |
% [取余] | 返回除法的余数 | b%a;0 |
** [取幂] | x的y次幂 | 2**2,2的2次方,4 |
// [取整除] | 返回商的整数部分 | 9//2 ;4 9.0//2.0 4.0 |
(2)比较运算符
a=10;
b=20
运算符 | 描述 | 实例 |
== | 比较对象是否相等 | a == b;返回False |
!= | 比较两个对象是否不相等 | a!=b;返回True |
> | 返回a是否大于b | a >b;返回False |
< | 返回a是否小于b | a<b;返回True |
>= | 返回a是否大于等于b | a>=b;返回False |
<= | 返回a是否小于等于b | a<=b;返回True |
(3) 赋值运算符
运算符 | 描述 | 实例 |
---|---|---|
= | 赋值运算符 | c=a+b;c 为30 |
+= | 加法赋值运算符 | a+=b;相当于 a=a+b |
-= | 减法赋值运算符 | a-=b;相当于a=a-b; |
*= | 乘法赋值运算符 | a*=b;相当于a=a*b; |
/= | 除法赋值运算符 | a/=b;相当于a=a/b; |
%= | 取模赋值运算符 | a%=b;相当于a=a%b; |
**= //= | 幂赋值运算符 取整除赋值运算符 | a**=b;相当于a=a**b; a//=b;相当于a=a//b; |
(4) 位运算符
运算符 | 描述 | 实例 |
---|---|---|
& |
按位与运算符:参与运算的两个值,如
果两个相应位为 1,则表示该位结果为
1,反之为 0
|
60 0011 1100
13 0000 1101
0000 1100 -----》12
|
| |
按位或运算符:参与运算的两个值,如
果其中有一个为 1,则表示该结果为 1
|
60 0011 1100
13 0000 1101
0011 1101 -------》61
|
^ |
按位异或运算符:当两对应的二进位相
异时,结果为 1
|
60 0011 1100
13 0000 1101
0011 0001 -------》49
|
~ |
按位取反运算符:对数据的每一个二进
制位取反,即 1 变 0 ,0 变 1;如果最
高位为 0,则为正数;如果最高位为 1,
则为负数
|
60 0011 1100 ----》1100 0011
a = 60
print( ~a ) ------->-61
|
<< |
左移运算符:运算数的各个二进制位全
部左移若干位,由<<右边的数字指定位
移的位数,最高位丢弃,低位补 0
|
a = 60 二进制:0011 1100
a << 2 1111 0000 ----》240
|
>> |
右移运算符:把>>左边的运算数的各个
二进制位全部右移若干位,>>右边的数
字指定了移动的位数
|
a = 60 二进制:0011 1100
a >> 2 0000 1111 ----》15
|
(5)成员运算符
运算符
| 描述 | 实例 |
---|---|---|
in
|
如果在指定的序列中找到值返回 True,
否则返回 False。
|
x 在 y 序列中
如果 x 在 y 序列中返回 True。
|
not in
|
如果在指定的序列中没有找到值返回
True,否则返回 False。
|
x 不在 y 序列中
如果 x 不在 y 序列中返回 True。
|
(6)身份运算符
运算符 | 描述 |
---|---|
is
|
is 是判断两个标识符是不是引用自一个对象
|
is not
|
is not 是判断两个标识符是不是引用自不同对象
|
(7)逻辑运算符
运算符 | 描述 | 实例 |
---|---|---|
and
|
布尔"与" 如果x and y 如果x为False
结果为 false,否则返回 y 的计算值
|
a and b 返回 20
|
or
|
布尔"或" 如果 x 是非 0,它返回 x
的值,否则它返回 y 的计算值
|
a or b 返回 10
|
not
|
布尔"非" 如果 x 为 True,返回 False;
如果 x 为 False,它返回 True
|
not(a and b) 返回 False
|
(8)运算符优先级
运算符 | 描述 |
---|---|
**
|
指数 (最高优先级)
|
* / % //
|
乘,除,取模和取整除
|
+ -
|
加法减法
|
>> <<
|
右移,左移运算符
|
& ^ |
|
位运算符
|
<= >=
|
比较运算符
|
== !=
|
等于,不等于
|
= %= /= //= -= += *= **=
|
赋值运算符
|
is is not
|
身份运算符
|
in not in
not and or
|
成员运算符
逻辑运算符
|