python中一切皆对象
什么是变量、变量名?
--变量是存放数据的容器,变量名是区分容器的名字
例如 : a = 7,a就是变量的名字,叫a名字指向那个容器存放了数字 7
变量有什么形式?
变量名 =(赋值符合)现实数据,python是一门动态的语言,会自动识别变量类型,不需要手动确定
student_01 = ‘小小’
--(声明一个变量student_01,= 表示给变量赋值,“小小”只是个值)
--从这句话中我可以推断,小小是个学生,有可能学号是01号,所以这编程就有了现实意义
-- 变量还可以接收一个数学表达式
number = 3+4 print(number ) # 将会打印 7
思考?
name = 'jiujiu' new_name = name name = 'beimen' print(name, new_name) # 输出结果 beimen jiujiu
为啥?
如何查看变量类型?
--type() -- 表示查询括号里 数据 的类型。
#!/usr/bin/python # -*- coding: utf-8 -*- # str str_1 = 'kaobei' # int num_1 = 123456 # float num_2 = 1234.56 # bytes num_3 = b'123456' print(type(str_1)) print(type(num_1)) print(type(num_2)) print(type(num_3))
分变量类型有什么意义?
--每个类型的变量,运算方式不一样,进行处理的时候,不会出现莫名其妙的bug。
如数字可以(+-*/,加减乘除)
英文和数字字符可以转换成ascii对应的数字,然后才可以相加,首先的明白,数字本身就可以进行数学运算
有多少种数据类型?
--可以分为三大类
1. 数字
--整数(int)、浮点数(float)
# 整数 int num_1 = 12345 # 浮点数 float num_2 = 123.45
2. 字符串
--文字字符组合
# 字符串 str str_1 = 'Hello Word!'
3. 序列(列表,元组,字典,集合)
# 列表 list list_a = [1, 2, 3] # 元组 tuple tuple_b = (1, 2, 3) # 字典 dict dict_c = {'1': 1, '2': 2, '3': 3} # 集合 set set_d = {1, 2, 3}
4. 二进制 -- bytes 图片、视频、音频
# bytes bytes_a = b'123456'
-- python3.x 默认编码是unicode,严格区分str和bytes类型,网络传输格式必须是bytes类型
5. 布尔值
-- True/False
# boolean a = True b = False print(a, b) # True 1, False 0 if True == 1: print("True is 1") else: print("True is not 1") if False == 0: print('False is 0') else: print("Flase is not o")
bytes和str类型如何相互转换?
-- python3.x 中网络传输必须是bytes类型
-- "字符".encode("utf-8") -- 字符转二进制
-- "bytes".decode("utf-8") -- 二进制转字符
hello = '你好,世界' # 转换成bytes b_hello = hello.encode('utf-8') # 或 b_hello = bytes(hello, encoding='utf-8') # bytes转换成 字符 c_hello = b_hello.decode('utf-8')
-- 在python2 下,str类型为python3下bytes,bytes为python3下str
类型之间有哪些运算方式?
-- 数字
-- “ + - * / // % ** ”
-- 加、减、乘、真除法、地板除、取余、幂、 -- 优先级和数学上一样
# 字符串拼接, / 真除法, // 地板除 num_01 = 15 print(num_01/2, num_01//2)
-- 字符串
-- " + " -- 字符串的拼接
# 字符串拼接 hello = 'Hello' word = 'Word' print(hello + ' ' + word)
变量命名有什么潜规则?
--不能是关键字
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec',
'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass',
'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
循环分支: and, break, continue, if, elif, else, for, in, is, not, or, while
异常处理: assert, try, except, as, finally, raise
面向对象: class, def
文件相关: open, with
--不能以数字开头,大小写字母,下划线,数字
-- 被c语言潜规则了
如Apple_7,合法。7Ass,8-s,a-7sA,不合法
--必须命名简明,见名知意
注意点: python3 中中文名可以直接当变量名