python_变量
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 中中文名可以直接当变量名
python_变量的更多相关文章
- python_变量的命名规则
python 变量的命名规则: 1. 要具有描述性 2.变量名只能由 数字,字母 ,下划线 组成,不可以是空格或者特殊字符(#!%……&) 3.不能以数字开头 4.保留字符不可用(print ...
- Python_变量命名
Python的变量命名 变量的命名的原则一直都是我这种小白的头疼事,好几条,根本记不住...... 为了解决大家的头疼问题,今天想出来一个好办法,那就是:身边常备头疼片.......(哈哈哈,开玩笑的 ...
- Python_变量作用域
1.变量作用域: def get_apple(name,*b): global totalCount totalCount=0 for num in b: print('............... ...
- Python_变量作用域与修改
引用全局变量,不需要golbal声明,修改全局变量,需要使用global声明,特别地,列表.字典等如果只是修改其中元素的值(而不是整体赋值的形式),可以直接使用全局变量,不需要global声明. 参考 ...
- 6 小时 Python 入门
6 小时 Python 入门 以下操作均在 Windows 环境下进行操作,先说明一下哈 一.安装 Python 1.官网下载 Python 进入官网(https://www.python.org), ...
- python_判断变量类型
需求: 已知有一个变量,我想对他进行预处理判断,如果这个变量是字符串,则在字符串后面加上后缀'_str',如果整形就让其加5,还比如我要求这个变量是整形或者字符串,都行 如何做? #!/usr/bin ...
- Python_关于多线程下变量赋值取值的一点研究
关于多线程下变量赋值取值的一点研究 by:授客 QQ:1033553122 1.代码实践1 #!/usr/bin/env python # -*- coding:utf-8 -*- __author_ ...
- python线程条件变量Condition(31)
对于线程与线程之间的交互我们在前面的文章已经介绍了 python 互斥锁Lock / python事件Event , 今天继续介绍一种线程交互方式 – 线程条件变量Condition. 一.线程条件变 ...
- In-Memory:在内存中创建临时表和表变量
在Disk-Base数据库中,由于临时表和表变量的数据存储在tempdb中,如果系统频繁地创建和更新临时表和表变量,大量的IO操作集中在tempdb中,tempdb很可能成为系统性能的瓶颈.在SQL ...
随机推荐
- Upgrade with the Gradle Wrapper, gradlew升级
springboot 2.0需要gradle 1+, 而自动构建的都是3.+,手动升级如下 Upgrade with the Gradle Wrapper If your existing Gradl ...
- 【转】NO.3、python+appium+ios,遍历真机元素,得到webview
pyhton+appium+iOS,遍历真机webview.是遍历真机的webview,遍历模拟器的webview请另寻方法. 1.mac上安装ios_webkit_debug_proxy 命令:br ...
- Python进阶内容(四)--- 迭代器(Iterator)与生成器(Generator)
迭代器 我们已经知道,可以直接作用于for循环的数据类型有以下几种: 一类是集合数据类型,如list.tuple.dict.set.str等: 一类是generator,包括生成器和带yield的ge ...
- Core Java 谈谈 ThreadPoolExecutor
说起Java 7的Executors框架的线程池,同学们能想到有几种线程池,它们分别是什么? 一共有四个,它们分别是Executors的 newSingleThreadPool(), newCache ...
- 实现数组元素互换位置(乘机理解java参数传递)
Java中函数参数是按值传递的,在实现数组元素互换位置之前,我想先说一下Java函数参数传递过程.一般情况下我们会把参数分为基本数据类型和引用数据类型,然后分别来讲参数传递,因为他们的外在表现似乎是不 ...
- Spring Boot实战:集成Swagger2
一.Swagger简介 上一篇文章中我们介绍了Spring Boot对Restful的支持,这篇文章我们继续讨论这个话题,不过,我们这里不再讨论Restful API如何实现,而是讨论Restful ...
- SQLite事务与自增深度分析
SQLite什么都好,就怕“database is locked”这些年来想尽办法去规避它. 测试代码: static void Test2() { XCode.Setting.Current.Tra ...
- Python文章相关性分析---金庸武侠小说分析
百度到<金庸小说全集 14部>全(TXT)作者:金庸 下载下来,然后读取内容with open('names.txt') as f: data = [line.strip() for li ...
- Linux内核打印时间戳
较为简单可行的方式是通过PrintkTime功能为启动过程的所有内核信息增加时间戳,便于汇总分析.PrintkTime最早为CELF所提供的一个内核补丁,在后来的Kernel 2.6.11版本中正式纳 ...
- Nginx日常维护操作(3)
一.简明nginx常用命令 1. 启动 Nginx /sbin/nginx service nginx start 2. 停止 Nginx /sbin/nginx -s stop /sbi ...