新手学Python必备知识点,赶紧码住!

本文全面介绍了Python编程语言,涵盖其特点、动态类型、字符串操作、布尔类型、输入输出、数据类型转换、注释、操作符、列表、元组、字典、代码块、缩进、循环语句、函数定义及调用等核心内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python是什么?

Python是一种计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的、大型项目的开发。

Python这门编程语言的特点是什么?

解释运行

Python是一种解释型的编程语言. 和C/C++不同, 不是先将源代码文件转化成可执行文件, 再执行; 而是直接由Python解释器一行一行的读取源代码, 每读一行就执行一行.但严格意义上讲, Python算是一种 “半编译, 半解释” 型的语言. 一方面, Python解释器会按行读取源代码文件, 然后会先将源代码转为供Python解释器直接执行的 “字节码”. 然后再执行字节码.
例如, 我们执行一个.py文件之后, 会生成一个同名的.pyc文件. 这个.pyc文件就是Python解释器生成的字节码文件. 如果已经存在了.pyc文件, 那么就不需要再 “翻译” 一次了, 这样也提高了执行效率.

跨平台

Python是基于Python的解释器来进行执行. 只要某个操作系统/平台上能运行Python解释器, 就可以完美的运行Python的源代码. 主流的Windows, Linux, Mac等操作系统上都能够很好的支持Python.

可扩展强

Python可以很容易的调用C/C++语言. 如果觉得哪里的逻辑性能不满足要求, 可以用C/C++重构这部分模块, 用Python调用.

可嵌入

Python的代码也可以很容易的嵌入到C/C++中执行.

丰富的库

Python标准库已经非常丰富强大, 同时也有非常庞大的第三方库.

什么是动态类型?

a = 1
b = 2
print(1/2)

这段代码看起来很简单,Python不需要直接对变量进行数据结构指定,它会根据你赋的值来自动判断,所以,a和b都应该是int型数据。那么这段代码运行结果如何呢?
在这里插入图片描述
可以看到结果是一个float型(Python没有double类型数据,对于Python来说float型数据相当于double数据类型)我们可以看到两个int型变量相除得到了一个float型变量。

再看一组代码

a = 10;
a = 'lalala'

这样去书写其他语言,比如C,Java,C++,肯定会报错,因为a已经被定义为了int型,怎么能再赋值为字符串?但是Python就可以,动态类型可以做到!

Python的字符串

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

a = 'abc'
a = "abc"
a = '''abc'''
a = """abc"""

这样写的好处是如果字符串中包含了’,"这样的字符,我们就不用将它们也进行转译了

几个Python特色的字符串操作

使用索引操作符 [] 或者切片操作符 [:] 来获取子字符串(切片操作是一个前闭后开区间)
例如:

a = "LeBronJames"
print(a[0])
print(a[-1])

执行结果为:
在这里插入图片描述
这里下标为-1,指的是字符串的最后一个元素 也就是s。

再例如:

a = "aoeiuv"
print(a[0:3])

输出结果为:
在这里插入图片描述
从字符串下标为0开始,一直到3,但不包括下标为3的元素。

还有使用 + 对字符串进行拼接,* 用于对字符串进行重复

例如:

a = 'abc'
b = 'def'
c = '---'
print(a + b)
print(3*c)

结果为:
在这里插入图片描述
注:Python没有单一的字符类型,即使是一个元素,也是一个字符串!

使用len函数获取字符串长度:

a = 'hhhhhh'
print(len(a))

结果为6

如何格式化输出字符串?
使用%即可
如:

a = 100
print("a = %d" % a)

输出结果就为a = 100

Python的布尔类型数据

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

同时,这也是一种特殊的整数类型,在和整数运算时,True会被认为是1,False被认为是0

Python的输入输出

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

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

例如:

name = input("请输入姓名")
print('姓名为:',name)

运行结果为:
在这里插入图片描述
注:input函数的返回值类型为字符串!

所以如果是这样的话:

a = input()  
#将a赋值为数字
print(a + 1)

此时会报错,因为现在的a是字符串 直接加整型数字会报错,数据类型不匹配,所以应该对a进行数据类型转换

a = input
#将a赋值为数字
print("a + 1 =".(int)a + 1)

这是因为Python是一个动态强类型的编程语言
隐式类型转换越支持,类型越弱
反之则越强
这里并不支持隐式类型转换,所以为强类型

注释

使用 # 进行注释
如果是Python2版本,源代码默认只支持ASCII码,注释是不支持中文的,需要在最上面书写

# -*-coding: UTF-8 -*-

Python3就不需要了,默认是utf8编码,支持中文注释

操作符

Python中支持 + - * / % 这样的操作符. 并且它们的行为都和C语言一样.

/ 是“精确除法”
如:
上面已经演示过的
a = 1
b = 2
print(1/2)
结果将为0.5

//是整除,会对结果进行取整操作
例:

a = 9
b = 2
print(a//b)

运行结果:
在这里插入图片描述
9里面有4个2,还有一个1被取整所丢弃

** 表示乘方运算(记得Python的数据无上限)

例:

a = 100
b = 100
print(a ** b)

结果:
在这里插入图片描述

Python也支持标准的比较运算符. > < >= <= == != 结果都是一个布尔值

Python也支持逻辑运算符. and or not

Python中, 3 < 4 < 5 等价于 3 < 4 and 4 < 5 这一点和其他大多数编程语言都不太一样.
运算符之间有高低优先级的区分. 应该合理使用括号来增加代码的可读性.
字符串和字符串之间也可以使用运算符进行操作, 例如前面使用 + 进行字符串连接

字符串之间可以使用 == != 来判定字符串的内容是否相同、

字符串之间也可以比较大小. 这个大小的结果取决于字符串的 “字典序”

什么是字典?下面将讲到

Python的列表/元组/字典

列表和元组类似于C语言中的数组

使用 [] 来表示列表, 使用 () 来表示元组.

它们的区别:列表和元组唯一的区别是, 列表中的元素可以修改, 但是元组中的元素不能修改
下面我们来使用它们:

#a为列表
a = [1,2,3,4]
print(a)
#列表和元组都能保存任意类型的Python对象
a = [111,222,'hhh']
print(a)
#可以使用下标来访问列表和元组的元素,从0开始,最后一个下标为-1
print(a[0])
a[1] = 666
#唯一的区别,列表的元素可更改,元组不能
print(a)
#b为元组
b = (1,2,3,4)
print(b)
print(b[-1])

运行结果:
在这里插入图片描述
注:不仅元组,整数在python中也是不能修改的:

a = 10
a = 20

我们修改的是a吗?

a = 10
a = 20
print(id(a))
print(id(b))

在这里插入图片描述
并不是,我们修改了a所指向的类似地址的id,这一点类似于java。

字典
字典是Python中的映射数据类型. 存储键值对(key-value).
几乎所有类型的Python对象都可以用作键. 不过一般还是数字和字符串最常用.
使用 {} 表示字典

>>> a = { 'ip' : '127.0.0.1'} # 创建字典
>>> a['ip'] # 取字典中的元素
'127.0.0.1'
>>> a['port'] = 80 # 插入新键值对
>>> a
{'ip': '127.0.0.1', 'port': 80} 

关于Python的引用

Python中可以用 id 这个内建函数, 查看变量的 “地址”

刚刚上面的注有讲解。

再看一段代码:

>>> a = 100
>>> id(a)
24187568
>>> a = 200
>>> id(a)
24191144
>>> b = a
>>> id(b)
24191144
>>> b = 300
>>> id(b)
25094648 

首先创建了一个对象,值为100,此时a为它的引用名,然后创建了一个对象值为200,将a再次作为它的引用名,但是指向的是200这个新对象的地址,所以id发生了变化;将a赋值给b,实际上就是创建了一个变量名b,将b和这个值为200的对象也绑定在一起,再次修改b的值,其实是将b又指向了一个值为300的新对象。
也就是说,像a,b这样的变量名,只不过是对象的一个别名,或者叫做变量的引用。

Python的代码块和缩进

Python中使用缩进来表示代码块. 相当于天然从语法的角度规定了代码风格.

Python是独一无二的使用缩进而不是{}

#示例一个判断语句
if a > b:
	do_something()

这就是一个代码块了,如果用java写的话

if(a>b){
	do_something();
}

是不是python简洁不少呢?

我们先来看各类代码块

首先 if 语句,以上面的代码为例,如果if中a>b条件成立,也就是说结果为非零,或者为True,那么就会执行下面的do_something方法,反之则不运行。

else语句:
python也是支持else语句的,和其他语言基本无差:

if a > b:
	do_this()
else:
	do_that()

还有神奇的 elif 语句也就是else if语句

if a > b:
	do_this()
elif a < b:
	do_this2()
else:
	do_that()

注:Python并不支持switch语句还有case语句,因为并没有必要,而且switch语句比较鸡肋

while循环

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

while expression:
 do_something

for循环

Python中的for循环和传统的for循环不太一样.

for循环接收可迭代对象(序列或者迭代器)作为参数, 每次迭代其中的一个元素

类似Java中的foreach循环

# 遍历字符串中的每一个字符
a = 'hehe'
for c in a:
 print c 

输出就为:hehe

这里再介绍一下range()函数,内建函数range能够生成一个数字组成的列表, 方便进行for循环遍历
例:

# for循环执行三次打印
for i in range(0, 3):
 print 'loop %d' % i 

range函数其实有三个参数. 前两个参数分别表示了一个前闭后开的区间. 第三个参数表示step, 每次迭代的步长
例:

# 遍历[0, 100)区间中的偶数
for i in range(0, 100, 2):
 print (i)

这样的话我们就能每次跳过1个元素:
截取部分结果图:
在这里插入图片描述

break和continue语句

break:跳出当前循环
continue:回到循环顶端,判断循环条件

pass语句

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

if x % 2 == 0:
 pass
else:
 do_something 

列表解析

使用for循环将生成的值放在一个列表中

# 生成 [0, 4) 的数字的平方序列
squared = [x ** 2 for x in range(4)]
print squared 

这个过程还可以搭配使用if语句

# 获取 [0, 8) 区间中的所有的奇数
evens = [x for x in range(0, 8) if x % 2 == 1]
print (evens)

是不是非常简洁啊

函数(Function)

到了重头戏了!

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

def Add(x, y):
 return x + y 

这是一个将两个数相加的函数

Python使用()来调用函数

print(Add(1, 2)) 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值