目录
一.变量、运算符与数据类型
二.位运算
三.条件语句
四.总结
一.变量、运算符与数据类型
1.1注释
怎样对python中的代码进行注释?
为了便于更好的理解代码,注释功能必不可少。在python中,#
表示单行注释,'''' '''
或""" """
表示多行注释。示例如下:
【单行注释】
print("hello world") #这是一个单行注释
【多行注释】
'''
这是多行注释,用三个单引号
这是多行注释,用三个单引号
这是多行注释,用三个单引号
'''
print("hello world")
"""
这是多行注释,用三个双引号
这是多行注释,用三个双引号
这是多行注释,用三个双引号
"""
2.2运算符
python有哪些运算符,这些运算符的优先级是怎样的?
python中有算术运算符、比较运算符、赋值运算符、逻辑运算符、位运算符、成员运算符、身份运算符。优先级参照下表,优先级由高到低排列。
运算符 | 描述 |
---|---|
** | 描述 |
~、+、- | 指数(最高优先级) |
*、/、%、// | 乘、除、取模和取整数 |
+、- | 加法、减法 |
>>、<< | 右移、左移运算符 |
`& | 位与 |
^、丨 | 位运算符 |
<=、<、>、>= | 比较运算符 |
<>、 ==、 != | 等于运算符(<>2.6以前版本的不等,!=Python3后的不等) |
=、 %=、 /=、 //=、 -=、 +=、 *=、 **= | 赋值运算符 |
is、 is not | 身份运算符 |
in、 not in | 成员运算符 |
not、 or、 and | 逻辑运算符 |
该表引用此文章 https://blog.csdn.net/y_oneyou/article/details/84563908
python 中 is
, is not
与 ==
, !=
的区别是什么?
is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等。反之,is not 用于判断两个变量是否引用自不同的对象,而 != 用于判断引用变量的值是否不等。
python 中包含哪些数据类型?这些数据类型之间如何转换?
(1)Number(数字)
True=1
False=0
数值的除法(/)总是返回一个浮点数,要获取整数使用//操作符
在混合计算时,python会把整形转换为浮点数
(2)String(字符串)
字符串用’或"括起来,同时使用\转义特殊字符串
如果不想让反斜杠发生转义,可以在字符串前面加个r表示原始字符串
索引值以0为开始,-1为末尾的开始位置
加号+是字符串的连接符,星号*表示复制当前的字符串,紧跟的数字为复制的次
(3)List(列表)
list写在方括号之间,元素用逗号隔开
和字符串一样,list可以被索引和切片
list可以使用+操作符进行连接
list中的元素可以改变的
(4)Tuple(元组)
元组与列表类似,不同之处在于元组的元素不能修改,元组写在小括号里。元素之间用逗号隔开
元组也可以被索引和切片,方法一样
注意构造包含0或1个元素的元组的特殊语法规则
元组也可以用+操作符进行拼接
(5)Sets(集合)
set是一个无需不重复的序列,基本功能是进行成员关系的测试和删除重复元素
(6)Dictionary(字典)
字典是一种映射类型,字典用{}标识,它是一个无序的建(key):值(value)对集合
建(key)必须使用不可变类型。在同一个字典中建(key)必须是唯一的
创建空字典使用{}
(7)类型之间的转换
序号 | 转换方式 |
---|---|
1 | int(x,base=10)x字符串或数字,base进制数,默认十进制 浮点转为整数 |
2 | float 整数转换为浮点型 |
3 | complex(1,2) 转换为复数 |
4 | str(10)将对象转换为字符串 |
5 | repe()将对象转换为表达式字符串 |
6 | repr(dict)将对象转换为表达式字符串 |
7 | eval(str)用来计算在字符串中有效的python表达式,返回一个对象 |
8 | tuple(listi)将列表转化为元组 |
9 | list()将元组转换为列表 |
10 | set转换集合 |
引用文章:https://www.py.cn/faq/python/11767.html
二.位运算
练习题:
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。尝试使用位运算解决此题。
题目说明:
"""
Input file
example1: [2,2,1]
example2: [4,1,2,1,2]
Output file
result1: 1
result2: 4
"""
class Solution:
def singleNumber(self, nums: List[int]) -> int:
# your code here
我的解决方案:
class Solution:
def singleNumber(self, nums):
count = 0 # 定义一个计数变量
for i in nums: # 变量i遍历数组nums
for j in nums: # 变量j再次遍历数组nums
if i ^ j == 0: # 按位异或操作,进行两两比较,相同为0,不同为1
count = count + 1 # 记录数字相同的次数
if count == 1: # 如果计数为1,表明除自己以外没有相同的元素
print(i) #输出单个的元素
else:
count = 0 # 计数清零,进入下一个循环
Solution().singleNumber([1,2,2,3,3])
三.条件语句
if expression:
expr_true_suite
- if 语句的
expr_true_suite
代码块只有当条件表达式expression
结果为真时才执行,否则将继续执行紧跟在该代码块后面的语句。 - 单个 if 语句中的
expression
条件表达式可以通过布尔操作符and
,or
和not
实现多重条件判断。
if expression:
expr_true_suite
else:
expr_false_suite
- 如果 if 语句的条件表达式结果布尔值为假,那么程序将执行 else 语句后的代码。
if expression1:
expr1_true_suite
elif expression2:
expr2_true_suite
.
.
elif expressionN:
exprN_true_suite
else:
expr_false_suite
- elif 语句即为 else if,用来检查多个表达式是否为真,并在为真时执行特定代码块中的代码。
如果只想执行一个代码块,就用if-elif-else结构;如果要运行多个代码块,那么用多个if。
四.总结
通过本次的学习,我知道了原来数据类型和我之前了解的有些差距,我之前一直以为数据类型无非是int、float、double、bool、str之类的,原来它们只是全部类型中的一小部分,看来还有非常多的知识需要学习。此外,还通过自己的努力实现了在一个双数数组中找出其中的一个单数,利用了本次任务学习的if语句,此外还复习了for循环的遍历应用。收获很多,继续加油!