Python day02

Python Day02

今天介绍了注释,常量,变量,运算符及运算,进制转换。

常量,变量

常量:

由于Python弱类型的原因,不像Java那样可以用finnal声明常量,一般约定成全大写起名即为常量.例如:NAME,并且可以修改(一般约定不修改)。

变量:

Python是弱类型,不像Java要用int float string 之类定义为什么类型,而是赋值为什么就是什么类型,例如:name=‘张三’(String字符型),age=18(int整形),b=1.1(Float浮点型),q=Falese =|| q=True(bool布尔型,并且F和T都要大写)。
变量命名规则:
格式:变量名 = 值

  • 数字,字母,下划线
  • 首字母不能是数字
  • 不能使用关键字(mport keyword
    print(keyword.kwlist))
  • 严格区分大小写
  • 见名知意{驼峰命名法getName,下划线命名法get_name(推荐)}

变量的类型(含注释):

str(字符型):符号:单引号,双引号,三引号,转义字符+r使用
int(整形):10,1
float(浮点型):1.1 1.25
bool(布尔型):True False
byte(字节型):b’内容’ : b1 = b’hello’ print(type(b1), b1)

# 单行注释
'''
多行注释:
'''

```python

number = 10
print(number,type(number))

name = 'zhangsan'
print(number, name, 90, 100, 66, 88)

flag = False

查看关键字

import keyword

‘’’
预定义的转义字符:
\n
\t
\r

"
\
print("‘123’"),print(’“123”’)
结合:r’内容’ raw 保留字符串的原有格式
‘’’

### 类型: python独有的类型, container : '容器'
list(列表):  [ 1,3,5,7,9 ],[ 'a','b','c' 'a' ] ....     **# <class 'list'>  可以有重复元素**         
tuple(元组):(1,3,5,7,9), ( 'a','b','c','c'   )...    **# <class 'tuple'> 可以有重复元素**
set(集合):{1,3,5,7,9,1,3,5,7,9},{'a','b','c','a'} ...  **# <class 'set'> 不允许有重复元素  输出{1,3,5,7,9}**
dict(字典):	scores = {'zhangsan': 100, 'lisi': 94}  # key : value 	 ... # <class 'dict'>



## 运算符

```python
a = 10
b = 5
print(a + b)
print(a - b)
print(a * b)
print(a / b)
print(a % b)  # 余数 6%4 --》2
print(a ** b)  # 10^5
**print(a // b)  # 整除(取整数)**

s1 = 'abc'
s2 = 'hello'
print(s1 * 3) //输出3遍s1
print(s1 + s2)  // 连接字符串    输出'abchello'
result = a + b
print(result)  # 赋值符号

c = 100
d = 5
print(id(b), id(d))  **# id() 内置函数:id(变量名) 获取变量地址,返回的是一个整型值**

e = 0
e += 6  # e = e+6  先相加后赋值


关系运算符:

== , != , > , <, >=, <= , is
左边 运算符 右边 —》bool: True False
== : 比较的是内容 返回值是True | False
is: 比较的是地址 可以通过id(变量) 获取地址 返回值是True | False

逻辑运算符:

and or not
左边 运算符 右边 —》bool: True False
是False的情况有哪些?
0 ‘’ " None

a1 = 8
a2 = 8
print(a1 < a2)
print(a1 >= a2)

print(a1 == a2)  # 恒等于的判断  True
print(a1 != a2)  # False

b1 = 1000
b2 = 1000

print(b1 == b2)  # == 比较的是内容(值)
print(b1 is b2)  # 比较地址的
print('--' * 30)
a = 0
print(not a)  # not False  ---> True

a = 8
print(not a)  # False

a = ''
print(not a)  # True

a = None
print(not a)  # True

a = '0'
print(not a)  # False

print(5 + True)  #6

print(5 > True)  # True

and or

and: 与 只有两边同时为真结果才是True真
T and T —》T
T and F —》F
F and T —》F
F and F —》F

验证用户登录: 用户名 True and password True —> 登录成功

or: 或 只要有一边为True,结果即为True。
T or T —》T
T or F —》T
F or T —》T
F or F —》F

用户登录: (用户名and密码) or (手机号码and验证码) —> 登录成功

成员运算符: in not in

# 成员运算符: in  not in
names = ['张鹏', '刘旺', '王宁', '孙杨']
print('孙杨' in names)  # 判断一个元素是否则另一个‘容器’中,如果在True,否则False
print('刘丽' not in names)  # 不在...里面

s1 = 'abcdef'
print('a' not in s1)

身份运算符: is is not

# 身份运算符: is  not is  比较地址

```python
s1 = 'abc'
s2 = 'abc'

print(s1 == s2)
print(s1 is not s2)  # False

三目运算符: if else

# 三目运算符: 格式: 结果1(条件成立的话True) if 条件 else 结果2(条件不成立False)
result = 5 + 6 if 5 > 6 else 5 - 6
print(result)

类型转换

number = input('输入整型数字:')    字符型
print(type(number))  # '5'
类型转换: **str ---> int**
number = int(number)  整形

print(8 < 5 and 5 == number)  # &&
print(8 > 5 or 5 == number)   # ||

进制:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
位:二进制位

常用的进制:
二进制:0 1
八进制: 0~7
十进制: 0~9
十六进制: 0~9 a~f

10 十进制
字节:
0000 1 0 1 0 —》10
8 4 2 1
十进制与二进制转换:
89—>二进制

二进制—》十进制:
0000 0010
12^1 + 02^0 —> 2

计算机运算:
原码
反码
补码: 负数
负数的十进制—》二进制:
-3的二进制:
步骤:

  1. 找3的二进制码: 0000 0011
  2. 求第一步的反码: 1111 1100
  3. 反码加1: 1111 1101

二进制 —》十进制
首先看符号位(二进制第一位)
1 —》 负数
0 —》正数

1111 0000 ----》 -16

步骤:

  1. 补码: 1111 0000
  2. 反码: 1110 1111
  3. 正数: 0001 0000 —>-16

位运算:

a = 0b01001011

转十进制

int()

b = int(a)
print(b)

转八进制 0o 开头

c = oct(a)

print©

转十六进制 0x 开头

d = hex(a)

print(d)

e = 88 # 十进制

e = bin(e) # 二进制 0b开头 binary

**result = int(‘0b1001010’, base=2)**表示二进制转十进制
print(result)
**result = int(‘0o65’, base=8)**表示八进制转十进制
print(result)

位运算:
& | ~ ^ >> <<
异或: 相同为0(False),不同为1(True)
左移:m<<n m*2的n次方
右移:m>>n m/2的n次方

 >> : 变小
 56>>3  ---> 56//23次方  ---7
 
 127>>4  -->  127//16 ---> 7
 
 <<: 变大
 2<<3 :  16  
         2*8 =16

a = 2
b = 3

print(a & b)
print(a | b)
**print(~a)  # 0000 0010 ---> 1111 1101 --->十进制: (步骤: 减1 ---》 1111 1100  --》取反: 0000 0011  ---》十进制:-3**
print(a ^ b)

print(a >> 1)  # a右移1位   0000 0010 ---》
print(56 >> 3)
print(127 >> 4)

临界值

print(0 >> 2)怎么移动都是0
print(-1 >> 6)怎么移动都是-1

总结:

**常量: MAX = 100
变量:

  1. 格式: 变量名=值

  2. 变量起名: 命名规范 5条

  3. 值:类型
    str int float bool bytes
    list tuple set dict

  4. str: ‘’ “” 三引号 +
    print(‘hello’ + ‘100’)

    **str与int转换: str() int()

    s1 = ‘90’
    int(s1) ----> int类型

    n = 88
    str(n) —> ‘88’ str类型**
    5. 运算符:
    算术:
    赋值:
    关系:
    逻辑:
    位: 进制: 二,八,十,十六进制,

    进制之间转换:
    负数:补码 反码
    系统: bin() int() oct() hex()
    & | ~ ^ >> <<
    成员: in not in
    **
    身份: is is not
    三目: if else

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值