【天池学习打卡】Python训练营任务学习——python入门1

task1 python入门1

一些书写规范

  1. #后变可以写注释内容
print('Hello') #输出hello
  1. 如果是多行注释,可以用三个引号(单引号双引号均可):
'''
这里可以写多行注释
以下代码为输出“hello”
'''
print('Hello')
  1. 想要适用变量前需要先赋值变量
a = 'Hello' #先赋值给变量a,此处a为‘Hello’字符串
print(a)  #Hello

数据类型

  1. int——整数
    查看整数长度:
a = 3
b = a.bit_length()
print(b)   #2
  1. float——浮点数
    如果设置float小数点位数,可以用decimal包里的Decimal对象和getcontext()方法来实现:
import decimal #import package 引入包
from decimal import Decimal
decimal.getcontext().prec=4
c = Decimal(1) / Decimal(3)
print(c)

# 0.3333

import package —— 引入package
dir(package) —— 查看package里的方法

  1. string——字符串
    字符串可以相加
a = "Hello"
b = " World"
print(a+b) #Hello World
  • bool——布尔类型(True False)
    0, 0.0都代表False,其他数代表True
    但注意:
    确定bool(x)的值是True还是False,就看x是不是空,空的话就是False,不空的话是True
  • 对于数值变量,0,0.0都可以认为是空
  • 对于容器变量,里面没有元素就是空
a = bool(0)
b = bool(0.0)
c = bool(1)
d = bool(2)
e = bool([0])
f = bool([1])
g = bool([])
print(a,b,c,d,e,f) #False False True True True True False

数据类型查看和转换

查看数据类型:

a = 3
print(type(a)) #<class 'int'>
print(isinstance(a,int)) #True

数据类型转换:
int(x,base=10)
str(object=’ ')
float(x)
如果字符串是数字,可以转为int或float,如果字符串有字母或其他,则不可以转。

运算符

  1. 算数运算符
    算数运算符
  2. 比较运算符

比较运算符

3.逻辑运算符

逻辑运算符
4.位运算符
在这里插入图片描述

5.其他运算符
其他运算符
【例子】比较的两个变量均指向不可变类型。

a = "hello"
b = "hello"
print(a is b, a == b)  # True True
print(a is not b, a != b)  # False False

【例子】比较的两个变量均指向可变类型。

a = ["hello"]
b = ["hello"]
print(a is b, a == b)  # False True
print(a is not b, a != b)  # True False

注意:

  • is, is not 对比的是两个变量的内存地址
  • ==, != 对比的是两个变量的值
  • 比较的两个变量,指向的都是地址不可变的类型(str等),那么is,is not 和 ==,!= 是完全等价的。
  • 对比的两个变量,指向的是地址可变的类型(list,dict,tuple等),则两者是有区别的。

运算符的优先级

运算符运算

位运算

原码、反码和补码

二进制有三种不同的表示形式:原码、反码和补码,计算机内部使用补码来表示。
原码:二进制表示
反码:整数的反码是原码,负数的反码是符号位不变,其余取反
补码:正数的补码就是原码,负数的补码就是反码+1。
(最高位为符号位,0是整数,1是负数)
原码:
00 00 00 00 11 —— 3
10 00 00 00 11 —— -3
反码:
00 00 00 00 11 ——3
11 11 11 11 00 —— -3
补码:
00 00 00 00 11 —— 3
11 11 11 11 01 —— -3

位运算:

位非 ~ 0和1取反,有符号也取反
位与 & 两个对应位都为1才取1
位或 | 两个对应位有1就取1
位异 ^ 两个对应为不同时取1
位左<< num<<i 代表num二进制向左i位
位右 >> num>>i 代表num二进制向右i位

利用位运算实现快速计算
n<<1——n2
n>>1——n/2,负奇数运算不可用
n<<m——n
(2^m)
n>>m——n/(2^m)
1<<n —— 2^n

a & (-a) 快速获取a的最后为1的位置的整数

利用位运算实现整数集合
a | (1<<i) -> 把 i 插入到集合中
a & ~(1<<i) -> 把 i 从集合中删除
a & (1<<i) -> 判断 i 是否属于该集合(零不属于,非零属于)

集合之间的操作:

a 补 -> ~a
a 交 b -> a & b
a 并 b -> a | b
a 差 b -> a & (~b)
注意:整数在内存中是以补码的形式存在的,输出自然也是按照补码输出。

  • Python中bin一个负数(十进制表示),输出的是它的原码的二进制表示加上个负。
  • Python中的整型是补码形式存储的。
  • Python中整型是不限制长度的不会超范围溢出。

条件语句

  1. if
  2. if-else
  3. if-elif-……-elif-else
  4. assert
    assert这个关键词我们称之为“断言”,当这个关键词后边的条件为 False 时,程序自动崩溃并抛出AssertionError的异常。

循环语句

  1. while
  2. while-else
  3. for
  4. for-else
  5. range(start,end,step)
  6. enumerate()函数
seasons = ['Spring', 'Summer', 'Fall', 'Winter']
lst = list(enumerate(seasons))
print(lst)
# [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
lst = list(enumerate(seasons, start=1))  # 下标从 1 开始
print(lst)
# [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
  1. break 语句
    break语句可以跳出当前所在层的循环。

  2. continue 语句
    continue终止本轮循环并开始下一轮循环。

  3. pass 语句
    不做任何事

  4. 推导式
    [ expr for value in collection [if condition] ]
    ( expr for value in collection [if condition] )
    { key_expr: value_expr for value in collection [if condition] }

异常处理

  1. try-except
    except后要接错误类型,不然不执行
  2. try-except-finally
    finally:不管结果如何都执行的语句
  3. try-except-else
    else:如果没有异常执行的代码
  4. raise
    Python 使用raise语句抛出一个指定的异常。
try:
    raise NameError('HiThere')
except NameError:
    print('An exception flew by!')
    
# An exception flew by!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值