Python day02

it2022-05-09  40

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的二进制: 步骤:

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

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

1111 0000 ----》 -16

步骤:

补码: 1111 0000反码: 1110 1111正数: 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 变量:

格式: 变量名=值

变量起名: 命名规范 5条

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

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)