Python学习笔记-001
记录一下重学python,虽然python老早就接触了,更多的还是停留在语法层面,老c++了。最近打算从头开始系统拉一下python的基础,先预计8天学完。后面还打算系统学一下Numpy,Pandas和Matplotlib。
python基础教程
python简介
- 检查是否安装python,终端输入
python --version
- python是一种解释性编程语言,只需要在文本编辑器中编写python文件,放入解释器中运行即可,比如在命令行中运行
python test.py
or./test.py
如果想要实时快速地测试python代码,编写文件运行并不高效,python其实本身就可以作为命令行运行,如在终端中输入python
;调试完成后,使用exit()
退出即可。
python关键字和标识符
python是区分大小写的!!!即Var和var是不同的变量
关键字是python中的保留字,不能用作变量名或函数名,并且关键字区分大小写,除了False
,True
和None
之外,都是小写,如下表所示。
用法太多,用到的时候再查也行。
标识符是python中类,函数和变量等实体的名称,用于区分不同的实体。
- 标识符是小写字母或大写字母或数字或下划线的组合。
- 但是不能以数字开头。
- 关键字不能用作标识符。
- 不能用特殊符号作为标识符。
- 标识符可以是任意长度。
可以使用下划线对多个单词进行命名,如this_is_long_variable
。
python语句缩进和注释python语句缩进和注释
换行
python中换行可以使用\
,如:
a = 1 + 2 + \
3 + 4 + \
5 + 6
或者
a = (1 + 2 +
3 + 4 +
5 + 6)
或者使用;
将多个语句放在一行:
a = 1; b = 2; c = 3
缩进
python使用缩进来定义代码块
注释
- 使用
#
注释 - 使用
"""
注释
"""这是
一个
多行注释"""
文档字符串
文档字符串说明了函数的作用。
def double(x):
"""函数值翻倍"""
return x * 2
通过调用print(double.__doc__)
获得文档字符串。
变量,常量和字面量
- 变量是在内存中存储数据的命名位置。python是一种类型推断语言,不必显式定义类型。
- 常量无法更改,一般用大写字母命名
- 字面量
字面量是以常量或变量给出的原始数据。
数字字面量(不可更改):
a = 0b1010 #二进制字面量
b = 100 #十进制字面量
c = 0o310 #八进制字面量
d = 0x12c #十六进制字面量
#Float 字面量
float_1 = 10.5
float_2 = 1.5e2
#Complex 字面量
x = 3.14j
print(a, b, c, d)
print(float_1, float_2)
print(x, x.imag, x.real)
输出为:
10 100 200 300
10.5 150.0
3.14j 3.14 0.0
字符串字面量:用引号括起来的一系列字符
strings = "This is Python"
char = "C"
multiline_str = """This is a multiline string with more than one line code."""
unicode = u"\u00dcnic\u00f6de"
raw_str = r"raw \n string"
print(strings)
print(char)
print(multiline_str)
print(unicode)
print(raw_str)
输出为:
This is Python
C
This is a multiline string with more than one line code.
Ünicöde
raw \n string
布尔字面量:True
orFalse
x = (1 == True)
y = (1 == False)
a = True + 4
b = False + 10
print("x is", x)
print("y is", y)
print("a:", a)
print("b:", b)
输出为:
x is True
y is False
a: 5
b: 10
特殊字面量:使用None
来指定尚未创建的字段
drink = "Available"
food = None
def menu(x):
if x == drink:
print(drink)
else:
print(food)
menu(drink)
menu(food)
输出为:
Available
None
字面量集:列表,元组,字典和集合
fruits = ["apple", "mango", "orange"] #列表
numbers = (1, 2, 3) #元组
alphabets = {'a':'apple', 'b':'ball', 'c':'cat'} #字典
vowels = {'a', 'e', 'i' , 'o', 'u'} #集合
print(fruits)
print(numbers)
print(alphabets)
print(vowels)
输出为:
['apple', 'mango', 'orange']
(1, 2, 3)
{'a': 'apple', 'b': 'ball', 'c': 'cat'}
{'e', 'a', 'o', 'i', 'u'}
数据类型
python中一切都是对象,因此数据类型是类,变量是这些类的对象。
数字(Number)
整数(不限长度,但受内存限制),浮点数(精确到15个小数位)和复数,它们被定义为int
,float
和complex
类。使用type()
函数判断变量属于哪个类。
列表(List)
列表中的元素可以不是同一类型,并且元素可变。索引从0开始,使用切片(左闭右开)提取一系列元素。
a = [5,10,15,20,25,30,35,40]
# a[2] = 15
print("a[2] = ", a[2])
# a[0:3] = [5, 10, 15]
print("a[0:3] = ", a[0:3])
# a[5:] = [30, 35, 40]
print("a[5:] = ", a[5:])
输出为:
a[2] = 15
a[0:3] = [5, 10, 15]
a[5:] = [30, 35, 40]
元组(Tuple)
和列表类似,唯一区别是元组的元素不可变。
字符串
字符串不可变。
集合(Set)
集合是无序的,且具有唯一值,切片操作不起作用。
字典
字典是键值对的无序集合。
数据类型转换
使用int()
,float()
,str()
。
>>> float(5)
5.0
>>> int(10.6)
10
>>> int(-10.6) # 接近0
-10
>>> set([1,2,3])
{1, 2, 3}
>>> tuple({5,6,7})
(5, 6, 7)
>>> list('hello')
['h', 'e', 'l', 'l', 'o']
>>> dict([[1,2],[3,4]])
{1: 2, 3: 4}
>>> dict([(3,26),(4,44)])
{3: 26, 4: 44}
Python类型转换
隐式类型转换
python解释器自动进行,无需用户操作。python把较低数据类型(int)自动转换为较高数据类型(float)。
显示类型转换
用户强制转换,可能会发生数据丢失,通过<required_datatype>(expression)
实现。
Python输入输出导出
print()函数输出
print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
- objects是要打印的值
- sep是值之间的分隔符,默认是空格
- end是最后打印的字符,默认是换行
- file是打印值的对象,默认是屏幕
输出格式
通过str.format()
实现,如:
>>> x = 5; y = 10
>>> print('x的值为{},y的值为{}'.format(x,y))
x的值为5,y的值为10
也可以使用索引指定它们的打印顺序
>>> print('I love {0} and {1}'.format('bread','butter'))
I love bread and butter
>>> print('I love {1} and {0}'.format('bread','butter'))
I love butter and bread
也可以使用关键字参数格式化字符串
>>> print('Hello {name}, {greeting}'.format(greeting = 'Goodmorning', name = 'John'))
Hello John, Goodmorning
也可以使用C编程中sprintf的旧样式格式化字符串,用%
实现
>>> x = 12.3456789
>>> print('x的值为 %3.2f' %x)
x的值为 12.35
>>> print('x的值为 %3.4f' %x)
x的值为 12.3457
python输入
>>> num = input('Enter a number: ')
Enter a number: 10
>>> num
'10'
python导入
模块是包含python定义和语句的文件,使用import
将一个模块的定义导入到另一个模块。
Python运算符
算数运算符和比较运算符都比较简单。
逻辑运算符
and
,or
,not
。
位运算符
赋值运算符
=
特殊运算符
Python关键字列表
as
:导入模块时创建别名。
assert
:用于调试,如果条件为真,pass,否则引发AssertionError。
>>> assert a > 5
Traceback (most recent call last):
File "<string>", line 301, in runcode
File "<interactive input>", line 1, in <module>
AssertionError
或者
>>> assert a > 5, "The value of a is too small"
Traceback (most recent call last):
File "<string>", line 301, in runcode
File "<interactive input>", line 1, in <module>
AssertionError: The value of a is too small
lambda
:匿名函数
a = lambda x: x*2
for i in range(1,6):
print(a(i))
pass
:空语句,用作占位符。
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】Flutter适配HarmonyOS 5知识地图,实战解析+高频避坑指南
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合终身会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 突发,CSDN 崩了!程序员们开始慌了?
· 完成微博外链备案,微博中直接可以打开园子的链接
· C# WinForms 实现打印监听组件
· C#实现欧姆龙 HostLink 通讯协议库
· 一个基于 .NET 开源、模块化 AI 图像生成 Web 用户界面