• List/Tuple
  • Python条件语句
  • 循环 for/while
  • dict/set
  • 定义函数
List/Tuple

List和Tuple都是有序的列表,区别是List中的元素可以改变,而Tuple中的元素无法改变

# 声明一个列表
list = [1, 2, 3]
# 列表中的元素可以是不同类型
list = [1, True, 'Sherlock Blaze']
# 可以通过类似访问数组的方式访问Python中的列表,比如
# list[0]、list[1]、list[2]分别得到 1、2、3
# 弹出最后一位的元素
list.pop()
# 弹出指定位置的元素
list.pop(1)
# 在结尾添加元素
list.append(4)
# 在指定位置插入元素
list.insert(0, 0)# 声明一个元组
tuple = (1, 2, 3)
# 因为元组中的元素一旦生成就无法修改,所以没有其他操作
# 声明一个空元组
tuple = ()
# 声明只有一个元素的元组
tuple = (1,)

Attention

观察到上面声明一个元素元组的时候才用的语法为 tuple = (1,),而不是 tuple = (1)
理由是,在第二种情况下,python解释器将()当做小括号处理,所以其实声明的tuple为数字 1。即 tuple = 1

Python条件语句
happy = True
if happy:print('xixixi')print('hahaha')
else:print('wuwuwu')

需要注意的是,这里的条件判断语句之后,有一个: , 并且接在下面的语句都是通过缩进来控制代码域的。

循环 for/while

通过代码来看:

sum = 0
for i in (1, 2, 3):sum += i

这里 (1, 2, 3) 是一个tuple,通过 in tuple 这个语法,可以让 i 遍历到tuple中的所有元素。

sum = 0
for i in range(5):sum += i

在这里,我们通过 range 函数,产生一个小于数字 5 的序列,也就是 [0, 1, 2, 3, 4]

num = 0
while num < 10:print(num)num += 1if num == 7:continueif num > 7:break

简单解释:在 num 小于 10时,执行循环下的语句,通过 break 语句,在 num 大于 7 时,退出循环,又通过 continue 语句,使得在 num 等于7时,直接重新从头开始执行循环体下的语句。所以以上代码输出结果为:

0
1
2
3
4
5
6
7
dict/set

依然通过直接的代码来看

dict = {'J': 23, 343: 'T'}

以上是Python中声明一个字典的方式,所谓字典,类似于其他语言中的map,也就是键值对。可以观察到,python中声明字典的方式,跟直接写一个json没有区别。同时我们可以看到,dict中,所有key/value的数据类型不一定是要全部相同的。
用来做key的数据必须是不可变数据,在python中,字符串和整型数据都是不可变数据,所以都可以用来做key。

那么,何为不可变数据类型?

对于字符串类型的数据

a = 'sherlock'
b = a.replace('s', 'S')
print(a)
print(b)# 输出结果
sherlock
Sherlock

通过上述代码,我们可以看到虽然用replace代码把a中的小写s替换成了大写S,但是a的字符串值并没有发生改变,是另外生成了一个字符串来存储。

setA = set([1, 2, 3])
setB = set([4, 5, 6, 4, 5])
print(setA)
print(setB)
setB.add(3)
setA.remove(2)
setC = setA & setB
setD = setA | setB
print(setC)
print(setD)

通过上述代码,知道了声明一个set的方式,& 是求两个set的交集, | 是求两个set的并集。

定义函数
def sayhi():passdef sayHello(x):if x > 10:passreturn x * 5, x * 6def showDefaultArg(x, y=1):print(x)print(y)def showAlterableArg(*args):for i in args:print(i)def showKeywordArg(**kw):if 'age' in kw:print(kw['age'])def showAssignArg(*, name, age):print(name)print(age)def main():sayhi()print(sayHello(3))a, b = sayHello(5)print(a)print(b)showDefaultArg(56)showAlterableArg(1, 2, 3)showAlterableArg(2, 5)showKeywordArg(name='sherlock', age=34)showAssignArg(name='blaze', age=45, face='handsome')main()

程序输出

(15, 18)
25
30

通过上述的代码可以观察到
1. python定义函数的方式,
2. pass关键字,这个关键字可以看做是一个占位符,代表什么都不做
3. python 调用函数的方式
4. python 的函数可以返回多个值,但是通过print(sayHello(3))语句的输出 (15, 18),我们可以观察到,返回的其实仍然是一个值,是一个tuple,只是在拿回值之后通过声明的顺序依次进行了赋值而已。
5. 可以设置默认参数值
6. 可以设置可变长度的参数值
7. 可以设置关键字参数值
8. 可以设置指定参数
在上述代码中,showAssignArg(name=’blaze’, age=45, face=’handsome’)语句执行时,程序会报错,因为face不是showAssignArg指定的参数值

Python Basic Grammar相关推荐

  1. Basic grammar of Python day2

    Basic grammar of Python -Summary: 2022.11.15 学习内容: 注释 函数 变量 运算符 -注释 注释的含义:注释 - 代码中不会被翻译成机器码的部分(不影响程序 ...

  2. python basic programs

    python basic programs os.exists函数检验在主备份目录中是否有当前日期作为名称的目录,如果没有,我们使用os.mkdir函数创建; os.system() os.mkdir ...

  3. python 变量转字符串_[Python Basic] 字符串处理以及类型转换 2

    本节内容涉及函数稍多, 需要慢点消化, 一如既往的, 我们不仅说说 python 的最小必要知识, 也讲讲编程英语. Python内置方法和函数 续接上节课,我们还可以使用Python内置的方法和函数 ...

  4. Python(basic)Day-1

    为什么学习python? 1.学校开设了Lab课程 2.个人兴趣 ·python简介 1.python之父:Guido van Rossum(荷兰) 2.基于:ABC教学语言 ·python的特点 ( ...

  5. fastjson转换时有大括号或者冒号或者有中括号_[Python Basic] 字符串处理以及类型转换 1...

    String Manipulation & Typecasting (1) 1. 文本复制以及连接 1.1 Multiply sign 使用 multiply sigh/乘号* 来复制文本片段 ...

  6. python如何设置字体大小_[Python Basic]如何设置 Python 的运行环境

    一如既往地, 咱们不仅仅是学习 Python 的基础知识, 同时, 也按照2/8 规律学习关键知识的关键部分 - python 核心词汇 如何安装 Python 下载 Python 打开网址:http ...

  7. Python Basic - Python open() 、closed()、write()、read()、 readline()、readlines()、with与文件进行交互

    文章目录 文件的操作 open()建立一个文件对象 语法 butlin关于open()方法的英文解释 open() 方法支持参数 file :文件的路径 可以是绝对路径,也可以是相对路径 mode : ...

  8. Python Basic - python 文件对象的文件交互各类方法描述与实现

    文章目录 read() widowns下file使用相对路径 windows下file使用绝对路径 指定读取字符个数 readline() 不带参数 带数字参数 多次readline() 并观察光标( ...

  9. Python Basic - read()方法

    read() read() 括号内有参数,什么都不加表示全读出来 数字做为参数:按字位置,一次取一个字符,一个汉字也表示 一个字符 widowns下file使用相对路径 file = open(&qu ...

最新文章

  1. 关于网页制作的规划与流程图的使用
  2. A Wasserstein Distance[贪心/模拟]
  3. android应用启动次数,应用统计: APP启动次数,软件用时统计,用量提醒
  4. 如何在 C# 中使用 Dapper ORM
  5. hibernate中PO对象的三种状态分析以及session中的一些方法的区别
  6. spring 注解方式配置Bean
  7. python pptp链接_pptp-client连接设置
  8. 本地项目上传到gitlab上
  9. input上报流程分析【转】
  10. 大规模数据运行时,可以考虑使用多线程处理!
  11. 信息安全工程师(软考资料)
  12. C#之DotNetBar2使用方法 - superTabControl1
  13. Burpsuite插件开发
  14. 基础内网信息探针思路
  15. android手机分辨率适配,Android屏幕适配(一)
  16. c语言 int类型转换为string类型
  17. YII模板(前台显示)详细分析
  18. 查违章老显示服务器维护中咋回事,违章查询怎么老显示系统正在维护呢,为什么违章查询总是显示维护状态?...
  19. D-OJ刷题日记:无向图的邻接矩阵表示法验证程序 题目编号:515
  20. 百度被黑后,中国黑客对伊朗网站展开全面反扑

热门文章

  1. 【图文】实操更换系统盘
  2. netty之微信-IM简介(二)
  3. 台式计算机有不有蓝牙,台式机没有蓝牙怎么办
  4. 少儿编程学习(循环及条件语句)
  5. 华为商店的软件可以鸿蒙,鸿蒙到底想要什么?是维护渠道的霸权还是万物互联?...
  6. Http请求体被转义
  7. 谁来PK“百度局域网”
  8. Allegro在PCB中区域规则设置方法
  9. win7电脑计算机上配置无线网,Win7无线网络共享设置方法
  10. iOS多线程理解告别生硬