"也许对我来说,太多拘束可能"


本篇的主要内容,针对的是一些常见的语法,在python中是怎样表示的,例如,python变量如何定义、选择、循环、判断结构是如何表示的?python函

数定义是怎么定义的……

----前言

一、认识python解释器

我们 直接进入命令行敲 python的时候,就会进入python解释器。 下面我们看到的就是 一个属于python 的shell

这个解释器 可以认为是一个基本的计算器,当然 也可以执行合法的python语句。

但是更多的时候,我们是将代码写在一个 .py后缀的文件里,通过python解释器 来执行这个.py文件里的代码。

二、初始Python

(1)赋值和初始化

①动静态类型:

1.在python中 已经不用像 C++ 或者 Java那样 声明类型

2.python中可以将初始化 和 赋值等价

3.同样 python中的任意一个变量 都属于动态类型,而非静态类型!

//内建函数 type 可以查看变量的类型.
print(type(变量名))

不过 python在变量命名方面 比较敏感;

1.变量名必须是字母, 数字, 下划线. 但是不能用数字开头(规则和C语言一样).
2.变量名大小写敏感, case 和 Case 是两个不同的变量.
3.变量命名要做到 "见名知意" .

②变量表示范围

1.Python中的数字变量的取值范围, 并没有限制(完全取决于你机器的内存多大), 而不是像C语言中int用4个 字节表示.
2.Python中还有一种 "复数" 类型. 和数学中的 "复数" 是相同的概念

(2)字符串

①三个引号

Python中可以使用 单引号('), 双引号("), 三引号('''/""") 来表示字符串

并且,python中没有 字符概念!

#内嵌命令 计算字符串的长度
print(len(变量名))

这样做的目的 是为了避免蹩脚的 转义

②切片与索引

1.使用索引操作符 [] 或者切片操作符 [:] 来获取子字符串(切片操作是一个前闭后开区间).
2.字符串的索引规则是: 第一个字符索引是0, 最后一个字符索引是-1(可以理解成len-1).

③字符串运算符

用于字符串连接运算, * 用于字符串重复

④格式化替换

格式化字符串, 可以使用 % 这样的方式进行格式化的替换.

a = 100
ptr = "a = %d"
result = ptr % a
print(result)
#######################
a = 100
print("a = %d" % a)

(3)布尔类型

Python中用True和False来表示布尔值(注意, 第一个字符大写).

布尔类型是一种特殊的整数类型。 运算时只表示1 或 0

(4)输入输出 与 注释

1.print函数将结果输出到标准输出(显示器)上.

2.input函数从标准输入中获取用户输入.

input接收的变量类型 都为字符串类型 如果需要得到int 类型 需要强转

在python中 '#'是注释。 不解释

(5)操作符

Python中支持 + - * / % 这样的操作符. 并且它们的行为都和C语言一样.
/ 是 "精确除法
// 就类似于 "取整"

当然python的 负数除法 与 C++/C  还有其他差异,但不是本篇的重点。

该文章可以为你 提供一个途径了解。

学途的踉跄~TOP2 取模取余,傻傻分不清~https://blog.csdn.net/RNGWGzZs/article/details/124067177


三、python语句结构

python同样也有自己的 选择、分支、循环语句。 但是使用上和 C++ \ java这些早些语言 有些细微的差异。

(1)if语句

①代码块缩进

Python中使用缩进来表示代码块. 相当于天然从语法的角度规定了代码风格.
Python是独一无二的使用缩进而不是{}的, 这就避免了一场党派之争~

python干脆"快刀斩乱麻",摈弃了大括号!

标准的if条件语句语法为如下:
如果表达式的值非0或者为布尔值True, 则执行 do_something, 否则执行下一跳语句.

python省略去了{} 用来包裹代码的符号。 条件的末尾+ ”:”

并且 另起一行 一定是以"Tab"的格式

if expression:do_something1do_something2
next_something
if expression:do_something1
else:do_something2

python 中else if 被改为elif的连写

if expression1:do_something1
elif expression2: (python中的else if 是连起来写的)do_something2
else:do_something3

Python坚持一切从简,因此并不支持switch/case这样的语句(毕竟有if/else). 也没有必要支持. 实际上 switch/case 语法并不优雅。

(2)while循环语句

while循环语句和if语句语法类似.只要表达式的值非0或者为True, 就会循环执行do_something

while expression:
do_something

(3)for循环

Python中的for循环和传统的for循环不太一样.
for循环接收可迭代对象(序列或者迭代器)作为参数, 每次迭代其中的一个元素

for elem in 迭代对象:
        do_somethings.

next_somethings

关于迭代对象 在这里也不多赘述。 我们在之后会遇到很多 可以进行迭代的对象!

(4) pass/break/continue

break/continue都很熟。 要么离开循环 要么跳过continue以后的代码 直接进行条件判定。

①pass

pass 是一个全新的概念。

在python中,有时候需要用到"空语句"这样的概念, 什么都不做. 由于没有 {} , 需要有一个专门的语句来占位, 要不缩进就混乱了。


四、初窥门径

上面仅仅 简洁地介绍了 Python的入门。 下面来上上开胃菜~

(1)序列

包含若干个元素, 元素有序排列, 可以通过下标访问到一个或者多个元素. 这样的对象, Python中统一称为序列(Sequence).
Python中的以下对象都属于序列:
字符串/列表/元组

①序列操作符

下列标准类型操作符, 大多数情况下都是适用于序列对象的.

(少部分特例是, 序列中保存的元素不支持标准类型操作符)

1.in/not in: 判定一个元素是否存在于序列中, 返回布尔值

2.连接操作符(+): 把两个相同类型的序列进行连接.

3.重复操作符(*): 让一个序列重复N次

②切片操作

切片操作符([], [:], [::]): 通过下标访问其中的某一个元素, 或者某个子序列.同上面所述的字符串切片相同。

Python如何对待 越界 索引呢?

正数的索引以序列的起始位置作为起点, 负数的索引以序列的结束位置做为起点.
试图访问一个越界的索引, 会引发异常

其他的在字符串 那小段 讲了切片内的内容。

注意:切片不必担心 下标越界。 因为它只会取 区间内能取到的元素。

③序列里的内建函数

len:返回序列长度

max:返回序列中的最大值

min: 返回序列中的最小值
sum: 序列中的元素求和(要求序列中的元素都是数字)
enumerate: 同时枚举出序列的下标和值
zip:可以理解为行列互换

sorted: 排序.

sorted(iterable,key=None,reverse=False),返回新的列表,对所有可迭代的对象均有效

sort排序;

from funtools import com_key_to

enumerate:

取出序列容器中的 下标 与 对应的值

(2)列表/元组/字典

①存储与访问

列表和元组类似于C语言中的数组,字典 是一种哈希结构
使用 [] 来表示列表, 使用 () 来表示元组 , 使用{}来表示字典.

1.列表和元组能保存任意数量, 任意类型的Python对象
2.可以使用下标来访问里面的元素, 下标从0开始. 最后一个下标为-1(类似字符串下标访问)

3.列表和元组唯一的区别是, 列表中的元素可以修改, 但是元组中的元素不能修改.

4.可以使用[:]切片操作得到列表或元组的子集. 这个动作和字符串操作是一样的

元组不支持修改 但是列表能:

字典的访问 本质就是Key  与 value的对应:

进行切片(字典无切片):

②常用操作之列表;

注:连接操作符“+” , 往往并不高效(新创建对象, 把原有对象拷贝进去).

对于列表, 推荐使用extend来完成这样的操作; 对于字符串, 推荐使用join这样的方法

关于sort;

③常见操作之元组

切片操作: 和列表相同
比较运算符, 规则和列表相同.
连接操作(+), 重复操作(*), 判定元素存在(in/not in)都和列表相同.
由于元组不可变, 所以并不支持append, extend, sort等修改"自身"的操作

当我们使用C++ 或者Java时 似乎return 只能返回一个值。 但是到了python里就不一样了,它可以在一个函数(之后会讲)里返回多个值;

④常见操作之字典

pop:删除指定 对象

len: 字典中键值对的数目
hash: 判定一个对象是否可hash. 如果可hash, 则返回hash之后的hashcode. 否则会运行出错

in/not in:判定一个key 是否在字典中!

keys:包含字典的所有的key

values:返回一个列表, 包含字典的所有value
items: 返回一个列表, 每一个元素都是一个元组, 包含了key和value

字典的循环遍历;

借助items的循环遍历;

(3)函数

函数想必 有基础的肯定不会陌生

一些可以被重复使用的代码, 可以提取出来放到函数中.
Python使用def来定义一个函数. 使用return来返回结果

def Add(x, y): #def定义return x + yprint(Add(1, 2)) #调用

1.Python中没有 "重载" 这样的概念. 相同名字的函数, 后面的会覆盖前面的

2.Python支持默认参数. 函数的参数可以具备默认值

3.Python支持多参数返回。 可以用_用来占位 不想接收的返回值

4.Python函数也是一个对象.

1.

2.

3.在上面也说过python中的函数返回值可以有 多个。

4.函数对象;

gp 就类似C/C++中的 函数指针(lambda表达式、仿函数).


总结:

①python类型是动态类型,没有范围的限制。

②字符串\列表\元组皆 序列。 能进行切片[]。 [::] (范围+ 步长)

③while\for\if 的新语法。 pass可以标识一个 空语句。

④for的循环依靠 迭代对象 如:range() 字符串、列表、元组、字典......

⑤列表元组都有+、*、in/not in 但针对自身操作的extend 、append 、 sort 是没有的。

⑥字典keys 、 values 、items 分别可取得字典中的key、对应的value值。 items可以充当迭代对象。

⑦函数定义 def 函数名():  python的函数可以返回多个值。

本篇到此结束 ,感谢你的阅读~

祝你好运

Python小炼(1):初识Python相关推荐

  1. 【python小课堂专栏】python小课堂31 - 初识原生爬虫

    python小课堂31 - 初识原生爬虫 前言 在上一期介绍了爬虫之前必会浏览器的开发者工具,忘记的童鞋可以在回顾一下: python小课堂30 - 爬虫之前必会的浏览器开发者工具. 本篇文章将以实战 ...

  2. 孤荷凌寒自学python第三十八天初识python的线程控制

    孤荷凌寒自学python第三十八天初识python的线程控制 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.线程 在操作系统中存在着很多的可执行的应用程序,每个应用程序启动后,就可以看着 ...

  3. python编程例子-几个Python小案例,爱上Python编程!

    原标题:几个Python小案例,爱上Python编程! Python是一种面向对象的解释型编程语言,源代码与解释器CPython遵守GPL协议,Python语法简洁清晰. 语法简洁清晰,那么我们用少量 ...

  4. python编程案例-几个Python小案例,爱上Python编程!

    原标题:几个Python小案例,爱上Python编程! Python是一种面向对象的解释型编程语言,源代码与解释器CPython遵守GPL协议,Python语法简洁清晰. 语法简洁清晰,那么我们用少量 ...

  5. python输入姓名 性别身高_孤荷凌寒自学python第十一天初识Python的字典类

    孤荷凌寒自学python第十一天初识Python的字典类 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) Python的字典其实是一张二维对照表 下面举例说明: 键名Key 姓名 性别 身高 ...

  6. 视频教程-Python小游戏-宇宙激战-Python

    Python小游戏-宇宙激战 计算机应用专业研究生硕士,教学10余年,现关注于移动互联网.大数据和人工智能研究方向. 朱松 ¥12.00 立即订阅 扫码下载「CSDN程序员学院APP」,1000+技术 ...

  7. python自学第8天字典_孤荷凌寒自学python第十一天初识Python的字典类

    孤荷凌寒自学python第十一天初识Python的字典类 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) Python的字典其实是一张二维对照表 下面举例说明: 键名Key 姓名 性别 身高 ...

  8. 我的python之路一初识python的自我理解

    初识python的自我理解 关于python的自我简记 我认识的python 怎么开始python的学习和使用 我尝试过的几个python学习的常用组合 关于python的自我简记 初识python是 ...

  9. python小游戏源码-Python小游戏之300行代码实现俄罗斯方块

    Python小游戏之300行代码实现俄罗斯方块 来源:中文源码网 浏览: 次 日期:2019年11月5日 [下载文档: Python小游戏之300行代码实现俄罗斯方块.txt ] (友情提示:右键点上 ...

最新文章

  1. java版电子商务spring cloud分布式微服务b2b2c社交电商-服务容错保护(Hystrix服务降级)...
  2. C#中读写INI配置文件
  3. 《失业的程序员》(六):加班
  4. oracle11g broker,张欣橙 Oracle11g 配置DG broker
  5. 08-百度ai语音合成
  6. 简洁UI好玩的文字转换emoji表情微信小程序支持句子词语转换_源码
  7. abi-api, arm target triplet https://en.wikipedia.org/wiki/ARM_architecture
  8. Spring集合类型属性注入
  9. 【分论坛第一期大剧透】开源技术与新IT基础设施联袂共舞
  10. Python-Numpy语法总结-数组的创建
  11. wincc怎么c语言编程,WINCC几个常用C语言编程
  12. 【全志A64/R18】Android平台获取Chip ID
  13. 你是如何转行的?转行容易吗?
  14. 科技风UI除了蓝色,还有什么配色选择?
  15. 技术人的未来(三)——红海与蓝海
  16. 做一个有意境的女人难上加难
  17. 《动手学深度学习》组队学习打卡Task5——卷积神经网络进阶
  18. API平台都有的Appid、Appkey、Appsecret分别是什么意思?
  19. 写在20110918:Eclipse中的outline标识以及常用快捷键
  20. 昆虫大战电子计算机软件,风雨的昆虫大战AI双图版

热门文章

  1. Linux系统ISO镜像文件下载地址
  2. 低成本营销有哪些策略 分享总结的营销方式思维导图
  3. 【科普贴】MIPI协议之D-PHY协议详解
  4. 2021年全球与中国重型泥浆泵行业市场规模及发展前景分析
  5. Photoshop cs6 如何让图层渐变透明
  6. c#样条曲线命令_C# chart控件绘制曲线
  7. linux 动画制作软件有哪些,2D动画制作软件OpenToonz使用入门教程
  8. Python每日笔记打卡_day4
  9. Yield Guild Games 和 MOBLAND 达成合作
  10. STM32 HAL库之看门狗