python基础语法有哪些-Python基础语法
本节内容:
常量/变量
运算符和表达式
程序控制结构
一、常量/变量
常量:python中没有真正的常量的,所有东西你都可以重新给它赋值的。但是有字面常量。比如:1,'a',这些就是字面常量。单独出现的字面常量无意义。字面常量是一块内存。
变量:在python中,所有的变量都是一个引用。变量是一个指针,它指向一块内存。就是一个名字,指向了一块内存。C语言里有不是指针的变量的。指针是在堆内存上的,非指针是在栈内存上的。
【注意】:在python中所有的变量都是有类型的。python是强类型的动态语言。
强类型,比如:
动态语言:
变量的命名规则:
1、只能包含字母、数字和下划线; (这里的字母是Unicode字符串,当然可以是中文,但是最好不要用,没人去维护这种代码的)
2、只能以字母或者下划线开始;
3、不能是Python解释器的保留字。
补充:
什么是强类型和弱类型?
强类型,如果一门语言很少隐式转换类型,说明它是强类型语言;如果经常这么做,说明它是弱类型语言。Java、C++和Python是强类型语言。PHP、JavaScript和Perl是弱类型语言。
什么是动态语言和静态语言?
在编译时检查类型的语言是静态类型语言,在运行时检查类型的语言是动态类型语言。静态语言需要声明类型,也就是说在编码时要声明数据类型。
动态类型语言:指在运行期间才去做数据类型检查,也就是说,用动态语言编程时,永远不用去给任何变量去指定数据类型。该语言会在你第一次给该变量赋值的时候,在内部把数据类型记录下来。ruby或者Python是典型的动态类型的语言,一些脚本语言也多少属于动态类型语言。
什么是解释型语言和编译型语言?
编译型语言:把做好的源程序全部编译成二进制代码的可运行程序。然后,可直接运行这个程序。
解释型语言:把做好的源程序翻译一句,然后执行一句,直至结束!
java很特殊,java程序也需要编译,但是没有直接编译称为机器语言,而是编译称为字节码,然后运行时,BYTECODE由JVM逐条解释执行。
二、运算符和表达式
算术运算符
逻辑运算符
比较运算符
位运算符
其他运算符: 包括赋值、成员运算、身份运算等。
1. 算数运算符
算术运算符通常只针对数值类型。Python中数值类型有3种:整型、浮点型、复数。后面会讲到。加减乘除和数学里都一样的,但是注意在通常的编程语言里,除法都是取整的,但是python3中的除法是能得到小数的,它与数学里的除法更类似一点。在python2中得到的是整数。
上面这个除是"自然除",自然除的结果都是浮点数。取整除的结果都是整数。
在python3中取整除用//
2. 比较运算符
== 相等
!= 不等于
> 大于
>= 大于等于
< 小于
<= 小于等于
所有的运算符返回的都是boolean值,也就是true或者false。
3. 逻辑运算符
python里面逻辑运算只有3个,与、或、非
与:and
或:or
非:not
参与运算的成员只能是bool类型的,或者可以隐式转化为bool类型的类型。bool类型的只有True和False。
and操作需要两边都是True才可为True。
or运算符两边只要有一个是True就是True。
not操作就是取反。
and和or需要两个操作数,属于双目运算符,而not属于单目运算符。python的双目运算符是短路操作。总是从左到右计算,如果一旦能够决定表达式最终的值,将立刻停止计算并返回。
4. 位运算符
用的很少
位运算符需要先得到那个数值或者字符的二进制表示,是可以计算出来的。比如计算60的二进制表示,如下。也可以用8位来表示0011 1100。再计算一个12,是0000 1100。也可以把二进制转换为相应的类型。
按位与:
0011 1100
0000 1100
0000 1100
其他几个操作:
左移和右移:
左移,右边缺的补0。
右移,左边缺的补0。
5. 其他运算符
赋值:左边是一个标识符,右边是一个值(或者可以计算为一个值),让这个标识符指向这个值所在的内存。
成员运算符:in ——内置数据结构
身份运算符:is ——面向对象的时候在讲
6. 运算符的优先级
算术运算符的优先级和正常的一样,但是有1个要注意:幂乘法优先级比乘法高。
算术运算符的优先级高于比较运算符。
比较运算符的优先级高于逻辑运算符。
拿不准的时候直接用括号,逻辑看起来也清晰。
7. 表达式
常量/变量和运算符组成
三、程序控制结构
所有的程序都差不多是以下3种控制结构:
顺序结构
分支结构
循环结构
1. 顺序结构
自上而下往下执行。
2. 分支结构
单分支结构:
if cond:
block
if 1<2 做了一个隐式转换,调用bool()函数,bool(1<2)。有人说为什么0是False,非0是True呢?
所以有一个规则,0、空的内置结构、None,bool运算的结果都是False,非空的内置结构都是True。
双分支结构:
if cond:
true_block
else:
false_block
多分支结构:
if cond1:
block1
elif cond2:
block2
elif cond3:
block3
....
else: #默认该分支可有可无
default block
分支结构永远只有一个分支会被执行。
【注意】:如果某个语句块里不需要有内容的话,可以使用pass,pass就是个占位符。
3. 循环结构
while循环
while cond:
block
for循环:
for element in itratable: #itratable是可迭代对象,for...in...是遍历,不是单独使用的
block
【注意】:for循环的循环体中绝对不要修改可迭代对象。
4. 嵌套的控制结构
【示例】:求素数
素数,又称质数,除了1和它本身外不再有其他因数的数。规定,1不是素数。
绝大多数语言都是要加一个计数器来判断循环执行了多少次,但是python有独特的写法:
【注意】:循环结构中,else子句判断循环有没有提前退出。如果提前退出了,else子句不执行,如果没有提前退出,执行else子句。
注意比较下面两个例子,return无论在函数里还是在循环里,只要return了,下面的语句将不会被执行。还要注意True和False,首字母要大写。
【例2】:跳出多重循环。
python基础语法有哪些-Python基础语法相关推荐
- python基础语法有哪些-Python语法基础归纳大全
虽然Python与Perl,C和java语言等编程语言有许多相似之处,但实质上还是大不相同的,语言之间也会有一些明确的区别.本文主要介绍的是Python的语法中的基础知识,有兴趣想学的朋友可以仔细阅读 ...
- python菜鸟基础教程-python基础菜鸟教程,Python的基础语法
原标题:python基础菜鸟教程,Python的基础语法 什么是Python?Python是一门简单直观的编程语言,并且目前是开源的,可以方便任何人使用. Python的开发哲学:用一种方法,最好是只 ...
- python基础语法合集-Python基础语法合集.zip
[实例简介]精心整理的Python基础语法合集,变量,循环,输入输出等等都有,主要是知道概念和怎么用的 如果打开文件后有文字变成符号的,先把字体改为宋体就正常了 [实例截图] [核心代码] 目录 了解 ...
- python接口自动化测试书籍_skPython接口自动化测试 自动化测试教程书籍 用Python实现UI自动化测试 轻松入门Python语法 MySQL数据库 Python基础教程书籍...
1 本书整体设计思想 . 1 1.1 为什么要做懂技术的测试人员 . 2 1.2 为什么选择这本书. 4 1.3 为什么选择Python 5 1.4 本书能给你带来什么 . 6 1.5 自动化代码的设 ...
- python基础学习教程:Python基础语法
Python 语言与 Perl,C 和 Java 等语言有许多相似之处.但是,也存在一些差异. 在本章中我们将来学习 Python 的基础语法,让你快速学会 Python 编程. 第一个 Python ...
- python 循环赋值_Python打牢基础,从19个语法开始!
Python简单易学,但又博大精深.许多人号称精通Python,却不会写Pythonic的代码,对很多常用包的使用也并不熟悉.学海无涯,我们先来了解一些Python中最基本的内容. Python的特点 ...
- 【python零基础入门学习】Python入门,带你快速学习Python 基础语法
ython 语言与 Perl,C 和 Java 等语言有许多相似之处.但是,也存在一些差异. 在本章中我们将来学习 Python 的基础语法,让你快速学会 Python 编程. 第一个 Python ...
- 《Python入门到精通》Python基础语法
「作者主页」:士别三日wyx 此文章已录入专栏<Python入门到精通> 2021最新版Python小白教程,针对0基础小白和基础薄弱的伙伴学习 Python基础语法 1. Hel ...
- python基础教程菜鸟教程-python基础菜鸟教程,Python的基础语法
原标题:python基础菜鸟教程,Python的基础语法 什么是Python?Python是一门简单直观的编程语言,并且目前是开源的,可以方便任何人使用. Python的开发哲学:用一种方法,最好是只 ...
- Python 闯关之路一(语法基础)
原文:https://www.cnblogs.com/wj-1314/p/8403977.html python 闯关之路一(语法基础) 1,什么是编程?为什么要编程? 答:编程是个动词,编程就等于写 ...
最新文章
- Linux fedora35安装crontab定时任务工具
- c++多态相关面试题
- 线段树专辑 —— pku 2482 Stars in Your Window
- tar打包时排除一些文件或者目录
- Java 父子类方法调用顺序
- 用Canvas创造一个太阳系
- 【Clickhouse】ClickHouse REST API(HTTP接口)及Engine引擎的使用
- IOS CoreData 简单使用CURD
- Android Studio 下载 与 安装 详细步骤
- 解决uni-app小程序获取路由及路由参数
- LabVIEW 编程小技巧
- U盘和移动硬盘的文件设置自定义图标
- Linux虚拟机快速搭建RabbitMQ(解压版)完整流程(简单明了、不亲测能写这么多)
- qq飞车找不到服务器了,QQ飞车体验服务器专区
- bufferedimage 保存图片_如何提取图片中的文字
- pandas 案例积累(一)—— 基础应用
- 南京软件测试女薪资2019,2019年第一扎!南京最新平均工资最新出炉,看完不敢过年!...
- iphonex 电话没声音 免提却有声音
- 微新余微信号ivxinyu✅ 冒死偷拍,对所有人都有益,求扩散!!!
- 最详细的Android图片压缩解释
热门文章
- php 图片地址用变量,php使用ob_start()实现图片存入变量的方法
- oracle定时器定时删除30天前的数据_Redis-数据淘汰策略持久化方式(RDB/AOF)Redis与Memcached区别...
- 我所理解的UTF-8和GBK
- Android 画虚线边框
- 圈复杂度本质上就是——分支覆盖率达到100%需要的测试用例数
- window 修改字符集为utf8
- Codeforces 337D
- Apache Spark 2.2.0 中文文档 - GraphX Programming Guide | ApacheCN
- 开源服务专题之------ssh防止暴力破解及fail2ban的使用方法
- ContentProvider学习笔记