[学习打卡]Python基础入门(一)

学习内容

1、 变量、运算符和数据类型 2、 条件语句

变量、运算符和数据类型

1. 注释

Python中,#表示整行注释,‘‘‘ ’’’“““ ”””表示多行注释

2. 运算符

算术运算符:

操作符名称示例
+1 + 1
-2 - 1
*3 * 4
/3 / 4
//整除(地板除)3 // 4
%取余3 % 4
**2 ** 3

比较运算符:

操作符名称示例
>大于2 > 1
>=大于等于2 >= 4
<小于1 < 2
<=小于等于5 <= 2
==等于3 == 4
!=不等于3 != 5

逻辑运算符:

操作符名称示例
and(3 > 2) and (3 < 5)
or(1 > 3) or (9 < 2)
notnot (2 > 1)

位运算符:


  • 原码、反码和补码

二进制有三种表示形式:原码、反码和补码,计算机内部使用补码来表示。
原码:就是其二进制表示(注意,有一位符号位)。

00 00 00 11 -> 3
10 00 00 11 -> -3

反码:正数的反码就是原码,负数的反码是符号位不变,其余位取反(对应正数按位取反)。

00 00 00 11 -> 3
11 11 11 00 -> -3

补码:正数的补码就是原码,负数的补码是反码+1。

00 00 00 11 -> 3
11 11 11 01 -> -3

符号位:最高位为符号位,0表示正数,1表示负数。在位运算中符号位也参与运算。


操作符名称示例
~按位取反~4
&按位与4 & 5
|按位或4 | 5
^按位异或4 ^ 5
<<左移4 << 2
>>右移4 >> 2
~ 1 = 0
~ 0 = 1
1 & 1 = 1
1 & 0 = 0
0 & 1 = 0
0 & 0 = 0
1 | 1 = 1
1 | 0 = 1
0 | 1 = 1
0 | 0 = 0
1 ^ 1 = 0
1 ^ 0 = 1
0 ^ 1 = 1
0 ^ 0 = 0

num << inum的二进制表示向左移动i位所得的值。

00 00 10 11 -> 11
11 << 3
---
01 01 10 00 -> 88 

num >> inum的二进制表示向右移动i位所得的值。

00 00 10 11 -> 11
11 >> 2
---
00 00 00 10 -> 2 

三元运算符:

示例:

x, y = 4, 5
if x < y:
    small = x
else:
    small = y

print(small)  # 4

使用三元操作符的条件表达式,可以使用一条语句完成上述操作:

x, y = 4, 5
small = x if x < y else y
print(small)  # 4

其他运算符:

操作符名称示例
in存在'A' in ['A', 'B', 'C']
not in不存在'h' not in ['A', 'B', 'C']
is"hello" is "hello"
not is不是"hello" is not "hello"

3.变量和赋值

  • 在使用变量之前,需要对其先使用=赋值。
  • 变量名可以包括字母、数字、下划线,但变量名不能以数字开头。
  • Python 变量名区分大小写,f != F

4. 数据类型与转换

类型名称示例
int整型 <class 'int'>-876, 10
float浮点型<class 'float'>3.149, 11.11
bool布尔型<class 'bool'>True, False
  • 浮点型数据0.000027也可用科学计数法表示为2.7e-5

  • 布尔 (boolean) 型变量只能取两个值TrueFalse。当把布尔型变量用在数字运算中,用 10 代表 TrueFalse

  • 查看数据类型使用type(),如果要判断两个类型是否相同使用 isinstance()

a = 0.00000023
b = 2.3e-7
print(a)  # 2.3e-07
print(b)  # 2.3e-07
print(True + True)  # 2
print(True + False)  # 1
print(True * False)  # 0
a = 101
print(a, type(a))
# 101 <class 'int'>
print(isinstance(1, int))  # True
print(isinstance(5.2, float))  # True
print(isinstance(True, bool))  # True
print(isinstance('5.2', str))  # True

除了直接给变量赋值 TrueFalse,还可以用 bool(X) 来创建变量,其中 X 可以是

  • 基本类型:整型(int)、浮点型(float)、布尔型(bool)
  • 容器类型:字符串(str)、元组(tuple)、列表(list)、字典(dict)和集合(set)

bool 作用在基本类型变量:X 只要不是整型 0、浮点型 0.0bool(X) 就是 True,否则就是 False
bool 作用在容器类型变量:X 只要不是空的变量,bool(X) 就是 True,否则就是 False

print(type(0), bool(0), bool(1))
# <class 'int'> False True

print(type(10.31), bool(0.00), bool(10.31))
# <class 'float'> False True

print(type(True), bool(False), bool(True))
# <class 'bool'> False True
print(type(''), bool(''), bool('python'))
# <class 'str'> False True

print(type(()), bool(()), bool((10,)))
# <class 'tuple'> False True

print(type([]), bool([]), bool([1, 2]))
# <class 'list'> False True

print(type({}), bool({}), bool({'a': 1, 'b': 2}))
# <class 'dict'> False True

print(type(set()), bool(set()), bool({1, 2}))
# <class 'set'> False True

类型转换:

  • 转换为整型 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

5.print()函数

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
  • 将对象以字符串表示的方式格式化输出到流文件对象file里。其中所有非关键字参数都按str()方式进行转换为字符串输出;
  • 关键字参数sep是实现分隔符,比如多个参数输出时想要输出中间的分隔字符;
  • 关键字参数end是输出结束时的字符,默认是换行符\n
  • 关键字参数file是定义流输出的文件,可以是标准的系统输出sys.stdout,也可以重定义为别的文件;
  • 关键字参数flush是立即把内容输出到流文件,不作缓存。

没有参数时,每次输出后都会换行。

alist = ['a', 'b', 'c', 'd']
print("This is printed without 'end'and 'sep'.")
for item in alist:
    print(item)

# This is printed without 'end'and 'sep'.
# a
# b
# c
# d

每次输出结束都用end设置的参数&结尾,并没有默认换行。

alist = ['a', 'b', 'c', 'd']
print("This is printed with 'end='&''.")
for item in alist:
    print(item, end='&')
print('hello world')

# This is printed with 'end='&''.
# a&b&c&d&hello world

item值与'qaq'两个值之间用sep设置的参数&分割。由于end参数没有设置,因此默认是输出解释后换行,即end参数的默认值为\n

alist = ['a', 'b', 'c', 'd']
print("This is printed with 'sep='&''.")
for item in alist:
    print(item, 'qaq', sep='&')

# This is printed with 'sep='&''.
# a&qaq
# b&qaq
# c&qaq
# d&qaq

条件语句

1. if 语句

if expression:
    expr_true_suite
  • if 语句的 expr_true_suite 代码块只有当条件表达式 expression 结果为真时才执行,否则将继续执行紧跟在该代码块后面的语句。
  • 单个 if 语句中的 expression 条件表达式可以通过布尔操作符 andornot 实现多重条件判断。

2. if - else 语句

if expression:
    expr_true_suite
else:
    expr_false_suite
  • Python 提供与 if 搭配使用的 else,如果 if 语句的条件表达式结果布尔值为假,那么程序将执行 else 语句后的代码。
  • if语句支持嵌套,即在一个if语句中嵌入另一个if语句,从而构成不同层次的选择结构。

3. if - elif - else 语句

if expression1:
    expr1_true_suite
elif expression2:
    expr2_true_suite
    .
    .
elif expressionN:
    exprN_true_suite
else:
    expr_false_suite

4. assert 关键词

assert这个关键词我们称之为“断言”,当这个关键词后边的条件为 False 时,程序自动崩溃并抛出AssertionError的异常。

my_list = ['lsgogroup']
my_list.pop(0)
assert len(my_list) > 0

# AssertionError

pop()为移除表中的一个元素,并返回该元素的值

在进行单元测试时,可以用来在程序中置入检查点,只有条件为 True 才能让程序正常工作。

assert 3 > 7

# AssertionError

参考课程链接:[阿里云天池Python训练营](https://tianchi.aliyun.com/specials/promotion/aicamppython)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值