Contents
一、 变量、运算符与数据类型
部分练习题及解答
- 怎样对python中的代码进行注释?
注释就是对代码的解释和说明。目的是为了让别人和自己很容易看懂,一看就知道这段代码是做什么用的。正确的程序注释一般包括序言性注释和功能性注释。python中注释可分为行注释和块注释,即单行注释和多行注释。
①单行注释用 # 表示,并在井号后面输入注释的内容即可。
②多行注释用一对 三个单引号'''或一对 三个双引号"""表示,并在一对引号内(可多行)输入要注释的内容即可。
print("Hello world") # 这是一个单行注释
'''
这是多行注释,用三个单引号
在这里输入注释内容即可
'''
"""
这是多行注释,用三个双引号
在这里输入注释内容即可
"""
2.python有哪些运算符,这些运算符的优先级是怎样的?
①python中的主要运算符有:算术运算符、比较运算符、逻辑运算符、位运算符、其他运算符等,
②一般而言,常用的优先级为:算术运算 >
位运算 >
逻辑运算
关于运算符的详细介绍可参考以下文章:http://c.biancheng.net/view/2190.html
3.python 中 is
, is not
与 ==
, !=
的区别是什么?
is
的名称为 是
is not
的名称为 不是
==
的名称为 等于
!=
的名称为 不等于
① is, is not 对比的是两个变量的内存地址
,而 ==, != 对比的是两个变量的值
②当对比的两个变量是地址不可变
的类型(str等),那么is,is not 和 ==,!= 是完全等价的。当对比两个变量是地址可变
的类型(list,dict等),则两者是有区别的。
以下给出可变类型与不可变类型的概念:
可变类型
:变量名存储的是一个地址,该地址指向一个具体的对象,并且不管对变量的值即对象做怎么样的操作,都不会改变变量名存储的地址。如python中的列表(list),字典(dict),集合(set)。
不可变类型
:不变数据类型的对象一旦发生改变,就会在内存中开辟一个新的空间用于存储新的对象,原来的变量名就会指向一个新的地址。如python中的元组,bool,数字(int),字符串(str)。
4.python 中包含哪些数据类型?这些数据类型之间如何转换?
①常用的数据类型有:整型
、浮点型
、布尔型
②类型转换:
- 转换为整型
int(x, base=10)
- 转换为字符串
str(object='')
- 转换为浮点型
float(x)
print(int('520')) # 520
print(int(520.52)) # 520
print(float('520.52')) # 520.52
print(float(520)) # 520.0
print(str(10 + 10)) # 20
print(str(10.1 + 5.2)) # 15.3
二、位运算
练习题:只出现一次的数字
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。尝试使用位运算解决此题。题目说明:
"""
Input file
example1: [2,2,1]
example2: [4,1,2,1,2]
Output file
result1: 1
result2: 4
"""
class Solution:
def singleNumber(self, nums):
# your code here
解题代码如下(向左滑动查看更多代码):
nums = [] # 定义一个空数组,用于接收数组
class Solution: # 构建一个类对象
def singleNumber(self, nums): # 定义解决问题的方法
i = 0
for i in range(len(nums)):
j = 0
target = nums[i] # 先取出nums的第一元素,作为比较对象
for num in nums: # 遍历数组以找到不重复的元素
if target ^ num: # 使用位运算中的异或运算符
j += 1
if j >= (len(nums) - 1):
return target # 返回这个不重复的元素
a = Solution() # 实例化一个类对象
print(a.singleNumber([2, 2, 1])) #调用方法,然后打印结果为1
print(a.singleNumber([4, 1, 2, 1, 2])) # 4
Tips:该方法只能找出一个不重复的元素,当要查找数组中有两个及以上的不重复元素时,有待改进…
三、条件语句
if语句中常用的三种类型
①if 语句
:
if expression:
expr_true_suite
if 语句的 expr_true_suite
代码块只有当条件表达式 expression
结果为真时才执行,否则将继续执行紧跟在该代码块后面的语句。
②if - else 语句
if expression:
expr_true_suite
else:
expr_false_suite
Python 提供与 if 搭配使用的 else,如果 if 语句的条件表达式结果布尔值为假,那么程序将执行 else 语句后的代码。
③if - elif - else 语句
if expression1:
expr1_true_suite
elif expression2:
expr2_true_suite
.
.
elif expressionN:
exprN_true_suite
else:
expr_false_suite
elif 语句即为 else if,用来检查多个表达式是否为真,并在为真时执行特定代码块中的代码。而且elif 可以多个嵌套使用。
关于if语句的一些小心得:
1) else是一条只要不满足if条件或elif条件就会执行的代码,如果知道最终要测试的条件,建议使用elif代码块代替else
2) 如果只想执行一个代码块,就可使用 if - elif - else 结构,这样只要检查到一个条件满足就跳出; 如果运行多个代码块,就使用多个独立的 if 语句,代码运行时会逐个检查测试条件,且各独立的 if 语句互不干扰。