python基础第二节
2.1第一个python程序
2.1.1 使用Pycharm新建一个python文件:打开pycharm,选择进入新建项目。
选择创建main.py
选项后,pycharm会自动创建一个main.py文件,内容如下:
# 这是一个示例 Python 脚本。
# 按 Shift+F10 执行或将其替换为您的代码。
# 按 双击 Shift 在所有地方搜索类、文件、工具窗口、操作和设置。
def print_hi(name):
# 在下面的代码行中使用断点来调试脚本。
print(f'Hi, {name}') # 按 Ctrl+F8 切换断点。
# 按间距中的绿色按钮以运行脚本。
if __name__ == '__main__':
print_hi('PyCharm')
# 访问 https://www.jetbrains.com/help/pycharm/ 获取 PyCharm 帮助
2.1.2使用pycharm 运行第一个python成程序。
点击程序右上角三角图标,点击运行,会在pycharm底部展示程序运行结果
2.2 python 的优缺点。
2.2.1 python的优点
1.语法简单
和传统的 C/C++、Java、C# 等语言相比,Python 对代码格式的要求没有那么严格,这种宽松使得用户在编写代码时比较舒服,不用在细枝末节上花费太多精力。例如:Python 不要求在每个语句的最后写分号,当然写上也没错;定义变量时不需要指明类型,甚至可以给同一个变量赋值不同类型的数据。
2.开源免费
开源:程序员写的代码是开源的,python的解释器和模块也是开源的。
免费:用 Python 进行开发或者发布自己的程序,不需要支付任何费用,也不用担心版权问题,即使作为商业用途,Python 也是免费的。
3.功能强大。
python有众多的第三方模块,基本实现了所有的常见的功能,从简单的字符串处理,到复杂的 3D 图形绘制,借助 Python 模块都可以轻松完成。
4.可扩展性强。
python被称为“胶水语言”,可以在python中调用其他语言,实现无缝衔接。
5.支持面向对象,不强制使用面向对象。
2.2.2 python缺点:
1.运行速度慢
Python 速度慢不仅仅是因为一边运行一边“翻译”源代码,还因为 Python 是高级语言,屏蔽了很多底层细节。这个代价也是很大的,Python 要多做很多工作,有些工作是很消耗资源的,比如管理内存。Python 的运行速度几乎是最慢的,不但远远慢于 C/C++,还慢于 Java。
但是随着计算机性能的提升,python运行速度慢的缺点逐渐被性能过剩的计算机配置所弥补。一般人使用起来影响不大。
2.加密难度大。
不像编译型语言的源代码会被编译成可执行程序,Python 是直接运行源代码,因此对源代码加密比较困难。可以使用pyinstaller模块将Python脚本打包成可执行文件。
pyinstaller -F xxx.py
2.3 python中的变量与变量名
2.3.1 变量
编程语言中所指的变量是指计算机内存中存储的数据。因此,当我们创建一个变量时,一定需要开辟一块内存空间用于存放变量。
Python中基础变量类型分为整型(int)
、浮点型(float)
、字符串(str)
、布尔值(bool)
等。
2.3.2变量名
为方便对变量进行调用,一般会为变量取个名字,这个名字就是变量名。变量名在内存中的存储形式一般为变量在内存中的地址。
需要说明的是:变量与变量名都是存储在内存中的值,不同的是,变量名在内存中存放的是指向变量的内存地址
所以计算机通过变量名取值的过程是,先通过变量名找到变量名在内存中存储的值,然后通过这个值指向的内存地址找到变量的值。
2.3.3 变量名的命名规则
- 变量名只能包含字母、数字和下划线。变量名不能以数字开头。
age = 19
name = 'Tom'
name_1 = 'Jery'
- 变量名不能包含空格,可以使用下划线来连接单词
- 不能使用Python的关键字做变量名。
python的关键字有如下:
False await else import pass
None break except in raise
True class finally is return
and continue for lambda try
as def from nonlocal while
assert del global not with
async elif if or yield
- 不能使用内置函数名、类名等。使用内置函数名或者类名不会报错,但会覆盖原Python原有的函数或类,导致原函数或者类调用出错。
- 变量名区分大小写。
2.4 Python的输入与输出。
我们在学习一门编程语言的时候,经常要用到的就是如何通过语言与计算机进行沟通,也就是如何向计算机输入指令,获取计算机输出的计算结果。而这些在Python中非常简单,只需要两个函数,input() 和print()。
2.4.1 input()方法:
input()
函数会从标准输入中读取结果,并作为字符串,同时会删掉结尾的换行符。如果给予了提示语,提示语会在屏幕中打印出来,输入的内容与打印的提示之间没有换行符。
input('请输入:')
终端输出结果:
请输入:
下面是python中对input()
的说明
def input(*args, **kwargs): # real signature unknown
"""
Read a string from standard input. The trailing newline is stripped.
The prompt string, if given, is printed to standard output without a
trailing newline before reading input.
If the user hits EOF (*nix: Ctrl-D, Windows: Ctrl-Z+Return), raise EOFError.
On *nix systems, readline is used if available.
"""
pass
2.4.2 print()方法
print()方法用于在终端打印输出,是python中最常见的一个函数。python源码中这样定义print()方法:
def print(self, *args, sep=' ', end='\n', file=None): # known special case of print
"""
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.
"""
pass
input()函数内可输入的参数:
- args – 复数,表示可以一次输出多个对象。输出多个对象时,需要用 , 分隔。
- sep – 用来间隔多个对象,默认值是一个空格。
- end – 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符串。
- file – 要写入的文件对象。
- flush – 输出是否被缓存通常决定于 file,但如果 flush 关键字参数为 True,流会被强制刷新。
如果需要将内容写入文件中,则代码如下:
with open("a.txt","w") as f:
print("hello", file=f)