Python3-安装和运算符
1.Python 环境搭建
解释性语言
1.1 安装部署(3.7.9)
- 下载路径:https://www.python.org/downloads/
安装配置社区版,专业版不合适web开发,另外还需要激活 - 测试 python -V
- 配置永久镜像源
pip config set global.index-url http://mirrors.aliyun.com/pypi/simple/
1.2 Pycharm 安装
2.Python 运算符
2.1 变量
- 容器
- 弱语言:对类型要求不严
(1)类型,取决于后面赋值的类型 - 命名比java少一个$符号
- Python推荐小划线,而非小驼峰;但不排斥小驼峰
- 三引号(’’’ ’’’):
(1)保留格式的字符串
2.2 数据类型
一、基本数据类型
int float str boolean
二、类型转换
Input: 无论输出什么,都是字符串类型
- 带小数点的str转换int会报错;
- 纯float转换int 不报错
- 当变量是0或者是空字符串的时候,转成bool 是false
2.3 格式化操作
# 输出格式化
name = '朗朗'
age = 20
# 我喜欢听age的name唱歌
print('我喜欢听' + str(age) + '岁的' + name + '谈钢琴')
# 格式化符号:占变量的位置
'''
符号:
%s 字符串 string
%d 整数 digit
%f 浮点 float
'''
print('我喜欢听%d岁的%s谈钢琴' % (age, name)) # 格式化占位
money = 99.9
print('我喜欢听%d岁的%s谈钢琴,挣了%f钱' % (age, name, money)) # 格式化占位
print('我喜欢听%d岁的%s谈钢琴,挣了%.1f钱' % (age, name, money)) # 格式化占位,保留小数点
print('我喜欢听%s岁的%s谈钢琴,挣了%s钱' % (age, name, money)) # 万能字符串,强转
print('hello python')
print('hello python')
print('hello python')
print('hello python')
for i in range(10):
print(i)
money = 100
print(type(money))
# 带格式的字符串
string = '''
静夜思
唐朝 李白
窗前明月光,疑是地上霜。
举头望明月,低头思故乡。
'''
# 类型
print(string)
isnull = True
# name = input('请输入用户名:')
# print(name)
money = '1000'
print(int(money) + 100)
money = ''
name = 0
pwd = 1
print(bool(money))
print(bool(name))
print(bool(pwd))
2.4 运算符
运算符优先级:
** :优秀级最高
~ + - : 按位反转,一元加号和减号
* / % // 乘、除、取模、和取整数
+-:加法、减法
>> << : 右移、左移 (位运算)
& : 位 AND (位运算)
^ | : 位运算
<= >= < > 比较运算符
<> == != 等于运算符
= %= /= //= -= += *= **= : 赋值运算符
is is not :身份运算符
is not in :成员运算符
not>and>or : 逻辑运算符
2.3.1 算数运算符
# 算数运算符
print(4 ** 3)
print(4 // 2)
print(4 % 2)
num = int(input("请输入一个三位数:"))
print("个位数:", num % 10)
print("十位数:", num // 10 % 10)
print("百位数:", num // 100)
2.3.2 关系运算符
# 关系运算符
a = 10
b = 11
print(a > b)
print(a < b)
print(a == b)
print(a != b)
x = 'abc'
y = 'abcd'
print(x == y)
print(x > y)
print(x > y)
'''
输入考试分数,判断是否到100之间
'''
score = float(input('输入考试分数:'))
print(80 <= score <= 100) # python 可以按照算数运算书写
'''
输入手机价格,比较两个价格是否相等
'''
a_price = float(input("请输入商品A价格:"))
b_price = float(input("请输入商品B价格:"))
print("a_price<=b_price:", a_price <= b_price, sep='->')
print("a_price>=b_price:", a_price >= b_price, sep='->')
2.3.3 逻辑运算符
# 逻辑运算符
"""
and :与
or:或
not: 非
not > and >or
算数运算符、赋值运算符、关系运算符、逻辑运算符
多个运算符优先级: 关系运算符、逻辑运算符
"""
a = 1
b = 2
print(a and b) # and 两边都是非零 最后数字
c = 0
print(a and c) # and 两边只要有一侧为零。结果即为零
print(a == b and a > c)
print("*" * 20) # 打印多少个
print("#" * 20)
print(a or b)
print(a == b or a > c) # 账号密码或者手机号验证码登录只要有一个登录成功就成功
print("#" * 20)
print(not b)
print(not a > b)
2.3.4 位运算符
# 位运算
"""
& | ^ ~ << >>
"""
a = 0b10101
b = 0b01111
print(a & b)
print(a | b)
# 异或:相同为0,不同为1 和 &相反
print(a ^ b)
# 取反:~ :对a的二进制取反
print(~ a)
# 二进制负数表示:反码+1;源码、反码、补码 10101 ->01010->01011
print(bin(~a))
'''
正数:反码、补码就是它本身
1、已知十进制负数,求二进制数
正数的原码->原码取反->加1 :
2、已知二进制负数,求十进制数
首先判断是否是二进制数负数依据:看二进制的最高位是1则为负数,0为正数
二进制(负的)-> 二进制-1 -> 取反 ->原码 ->将源码转成十进制,前面加负号-
'''
'''
1、 ~7 打印的十进制是? 源码 0000 0111 -> 取反 :1111 1000 开始转十进制
取反-1 -> 1111 0111 -> 0000 1000 ->符号-1 :-8
2、 -9 的二进制表示? 正数9:0000 1001 -> 反码:1111 0110 ->二进制(+1):1111 0111 :
3、 ~-4 打印的十进制是?正数4:0000 0100 -> 反码 1111 1011 -> 二进制(+1): 1111 1100 ->取反 0000 0011 3
4、 1111 1101 的十进制表示:二进制-1: 1111 1100 -> 取反(原码):0000 0011 -> 加-号: -3
'''
print(int(0b11111010))
print(int(0b11101101))
print("**" * 20)
'''
>> <<
'''
# 左移动变大:8(乘2^n)
print(2 << 2)
# 右移动变小:3 (整除2^n,取整)
print(27 >> 2)
print(29 >> 2)
print(35 >> 2)
print("**" * 20)
# 指数
print(3 ** 4)
print("**" * 20)
2.5 进制转换
# 进制转换
# 二进制:0b
n = 100
result = bin(100)
print(result)
# 八进制:0o
print(oct(100))
# 十六进制:0x
print(hex(100))
x = 0x123
y = 0o123
z = 0b110
print(int(x))
print(int(y))
print(int(z))
print(bin(int(x)))