Python基础速通

从今天开始我将速通Python的一些基础语法!

当未来遇到与Python相关的需求时,可以立刻上手学习进阶内容,为后续的进一步学习做个铺垫。

由于我有其他语言基础,所以很多我觉得相似或相同的知识点不会被记录,本文只是针对自己复习用。

学习参考:Python 语法及入门 (超全超详细) 专为Python零基础 一篇博客让你完全掌握Python语法

一、Python基础知识:

 

1.1字面量类型

Python的字面量类型(包含集合)和c/c++、java没有太大区别,只是原本的Map集合改名为了字典Dictionary类型,其本质依然是无序Key-Value集合。

1.2字符串类型

Python的字符串也是用” “和’ ‘表示,不过多了一种三引号””” “””的使用方式,他表示在一对三引号的范围内,均是字符串(可以换行)(因为Python代码不以分号分隔,而是依靠换行分隔),同时他也是一种多行注释。

2.基础Python语句

  • 换行:python语句不以分号结尾,而是以每一行作为区分
  • 缩进:在C中,代码的缩进只影响代码的可读性和美观,不影响实际使用,而在Python中,代码缩进控制着不同函数相互间的嵌套和归属
  • 大括号格式:大括号{}不会独占一行,其内部可以容纳多行语句
 

3.注释

  • 单行注释:#
  • 多行注释:””” “””

4.变量

  • Python中,变量无类型,但变量存储的数据有类型,可以用type(变量)来查看数据类型。e.g. name = 123,type = type(name)
  • Python中,变量无需提前声明,拿来就能用。
  • 变量命名规范不以大小写分割,而是以下划线分割单词。
    e.g.student_nickname = "arexc"

5.1类型转换

类似于向下转型,如int(x),float(x),str(x)……,其中str()比较特殊。首先,任何类型都可以通过str()转换成字符串,然后,字符串内必须真的是数字,才可以将字符串转换为数字。

6.运算符

‘/’就是除(9/4=2.25),’//’才是整除;’**’是指数运算符。其余运算符和c/c++无异

7.1字符串拼接 ‘+’

注:字符串不能与非字符串拼接

7.2字符串格式化

  • 利用变量占位符,用法示例:message = "我是%3s,我出生于%4d年,我的零花钱为%4.2f" % name year price
  • 通过语法:f”内容{变量}” 的格式来快速格式化,用法示例:f"我是{name},我出生于{year}年,我的零花钱为{price}"

注:显然,表达式、函数返回值也可以格式化。

8.print()、input()
name = input("你是谁")
print(f"{name}")

 

二、Python基础语句

除了缩进的问题,其他大部分与C语言没什么区别,以下是一些特别的

  • if elif else语句(== if… else if… else…),示例:
    if 条件1:
    ...
    elif 条件2:
    ...
    else:
    ...
  • for循环与C语言完全不同。
    for 临时变量 in 待处理数据集:
    ......

    其实是将数据集里的数据一一取出来,赋值给临时变量去执行循环中的代码,取完为止
  • range(num1,num2,step),可作为for循环的数据集使用

 

三、函数

函数的定义:
def 函数名(参数):
函数体
return 返回

(注:返回值可有可无,如果没有,Python会返回一个None,None等同于False,其实就是null值)

函数的调用:函数名(参数)

可在函数内部使用global关键字将局部变量声明为全局变量,遵守局部优先原则。

四、数据容器(集合)

Python的数据容器其实就是集合,有 列表(list)、元组(tuple)、字符串(str)、集合(set)、字典(dict) 这五类,用起来和Java里区别也不大,我把我觉得特殊的地方一一

列举一下:

4.1 list列表

  • list_example = [?,?,[?,1,?]]
  • 可以直接用索引取出:list_example[2][1] == 1
  • 常用方法:
 
4.2 tuple元组
  • 元组一旦定义,就不可修改(相当于 const list)
  • tuple_example = (?,?,(?,?,?)) 注:元组只有一个数据时,这个数据后面也要添加逗号,否则不是元组类型 
  • 常用方法:index()、count()、len(),比较少(因为不可修改)

4.3 str字符串

  • 无他,就记一些常用方法即可:

4.4 序列

  • 序列:内容连续、有序,可使用下标索引的一类数据容器。显然,列表、元组、字符串,均可以可以视为序列。
  • 序列支持切片。
  • 切片:从一个序列中,取出一个子序列。
    语法:序列[起始下标:结束下标:步长]。表示从序列中,从指定位置开始,依次取出元素,到指定位置结束,得到一个新序列:
    • 起始下标表示从何处开始,可以留空,留空视作从头开始
    • 结束下标(不含)表示何处结束,可以留空,留空视作截取到结尾
    • 步长表示,依次取元素的间隔
      • 步长 1 表示,一个个取元素
      • 步长 2 表示,每次跳过 1 个元素取
      • 步长 N 表示,每次跳过 N-1 个元素取
      • 步长为负数表示,反向取(注意,起始下标和结束下标也要反向标记)

4.5 set集合

  • set_example = {?,?,{?,?,?}}
  • 常用方法:

4.6 dict字典(其实就是map)

  • dict_example = {k : v , k : v , k : {k : v , k : v}}
  • 常用方法:
  • 字典遍历,可以用dict_example.keys(),也可以直接用dict_example,不过临时变量得到的都是key。

5. 数据容器的通用操作及相互转换

注:dict 的 max 和 min 方法比较的是 value,sort 方法排的也是 value,dict在转 list 和tuple 时只会转出key。

五、类

Python中使用class关键字定义类,类要遵循下述格式(模板)。
class 类名:
  类变量;
  def __init__(self, 参数, ... ): # 构造函数
    ...
  def 方法名1(self, 参数, ...): # 方法1
    ...
  def 方法名2(self, 参数, ...): # 方法2
    ...

在方法的第一个参数中明确地写人表示自身实例的 self 是 Python 的一个特点(this)。

类变量和实例变量:

  • 类体中、所有函数之外:此范围定义的变量,称为类变量(就是静态变量!)

  • 类体中,所有函数内部:以“self.变量名”的方式定义的变量,称为实例变量(就是实例属性!而且不用提前声明!)

  • 类体中,所有函数内部:以“变量名=变量值”的方式定义的变量,称为局部变量

 

六、结尾

Python的基础部分就补到这里了,总体而言Python的基础部分不难,和C/C++、Java的一些地方没太大区别,但往后进阶一些肯定是会有非常多独到、精妙、方便但不易学的部分的,未来我也一定会去研究,就继续保持谦虚、保持求知吧!

特别声明:当且仅当技术类文章可转载,转载时请标明出处和作者哟~
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇