Python新手入门指南:从零开始学编程

news2024/9/22 3:57:41

欢迎来到Python的世界!Python是一种功能强大、易于学习且用途广泛的编程语言。无论你是完全没有编程经验的新手,还是想要学习新技能的开发者,Python都是一个非常好的起点。接下来,我们将一起踏上这段编程之旅,从基础语法开始,逐步深入到一些实用的功能。

Python环境搭建

首先,你需要安装Python。访问Python官方网站 Download Python | Python.org 下载适合你操作系统的版本。安装时记得勾选“Add Python to PATH”,这样就可以直接在命令行中运行Python了。

之后前往Download PyCharm: The Python IDE for data science and web development by JetBrains下载编写python代码的编译器pycharm 

第一个Python程序

打开你的编辑器,我们先来写一个最简单的Python程序——输出“Hello, World!”。

print("Hello, World!")

 点击运行

如果一切正常,你应该能看到输出“Hello, World!”。

Python基础语法

变量与数据类型

Python中有几种常用的数据类型,比如整数(int)、浮点数(float)、字符串(str)等。你可以简单地给变量赋值:

age = 25
height = 1.75
name = "Alice"

print(age)
print(height)
print(name)

 

条件语句

条件语句允许你根据不同的情况执行不同的代码块。例如,我们可以编写一个程序来判断一个人是否成年:

age = 18

if age >= 18:
    print("You are an adult.")
else:
    print("You are a minor.")

循环

循环允许你重复执行一段代码。常用的循环有两种:for循环和while循环。

# 使用 for 循环打印 0 到 9
for i in range(10):
    print(i)

# 使用 while 循环打印 0 到 9
i = 0
while i < 10:
    print(i)
    i += 1

函数

函数可以帮助你组织代码,并使代码更易于重用。下面是一个简单的函数示例:

def greet(name):
    """打印一条问候消息"""
    print(f"Hello, {name}!")

greet("Bob")

列表(Lists)

列表是Python中最常用的序列类型之一,它可以存储多个项。下面是如何创建和操作列表的示例:

fruits = ["apple", "banana", "cherry"]

# 访问列表元素
print(fruits[0])  # 输出 "apple"

# 修改列表元素
fruits[0] = "orange"
print(fruits)  # 输出 ['orange', 'banana', 'cherry']

# 添加元素
fruits.append("grape")
print(fruits)  # 输出 ['orange', 'banana', 'cherry', 'grape']

# 删除元素
fruits.remove("banana")
print(fruits)  # 输出 ['orange', 'cherry', 'grape']

字典(Dictionaries)

字典是一种可变容器模型,它会保存键(key)-值(value)对。下面是一个使用字典的示例:

person = {
    "name": "Alice",
    "age": 25,
    "city": "New York"
}

# 访问字典中的值
print(person["name"])  # 输出 "Alice"

# 修改字典中的值
person["age"] = 26
print(person)  # 输出 {'name': 'Alice', 'age': 26, 'city': 'New York'}

# 添加新的键-值对
person["job"] = "Engineer"
print(person)  # 输出 {'name': 'Alice', 'age': 26, 'city': 'New York', 'job': 'Engineer'}

文件操作

Python提供了强大的文件读写功能。下面是一个简单的文件读写示例:

# 写入文件
with open("example.txt", "w") as file:
    file.write("Hello, Python!\n")

# 读取文件
with open("example.txt", "r") as file:
    content = file.read()
    print(content)

实战练习

简单计算器

下面是一个简单的计算器程序,它可以根据用户输入执行加法、减法、乘法或除法运算:

def calculator():
    num1 = float(input("Enter first number: "))
    operator = input("Enter operator (+, -, *, /): ")
    num2 = float(input("Enter second number: "))

    if operator == "+":
        result = num1 + num2
    elif operator == "-":
        result = num1 - num2
    elif operator == "*":
        result = num1 * num2
    elif operator == "/":
        if num2 != 0:
            result = num1 / num2
        else:
            result = "Error: Division by zero."
    else:
        result = "Invalid operator."

    print(f"Result: {result}")

calculator()

温度转换器

接下来,我们创建一个程序来将摄氏温度转换为华氏温度:

def celsius_to_fahrenheit(celsius):
    fahrenheit = (celsius * 9/5) + 32
    return fahrenheit

celsius = float(input("Enter temperature in Celsius: "))
fahrenheit = celsius_to_fahrenheit(celsius)
print(f"{celsius}°C is equal to {fahrenheit}°F.")

生成随机密码

最后,我们来实现一个简单的随机密码生成器:

import random
import string

def generate_password(length=8):
    characters = string.ascii_letters + string.digits + string.punctuation
    password = ''.join(random.choice(characters) for _ in range(length))
    return password

password = generate_password()
print(f"Generated Password: {password}")

结语

恭喜你已经完成了Python的基础学习!通过上面的示例,你应该对Python有了初步的了解。继续探索更多高级主题如面向对象编程、异常处理、模块和包等,你将能够写出更复杂和有用的程序。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2051496.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

机器学习第十一章-特征选择与稀疏学习

11.1子集收集与评价 属性称为"特征" &#xff0c;对当前学习任务有用的属性称为"相关特征" 、没什么用的属性称为"无关特 征" . 从给定的特征集合中选择出相关特征于集的过程&#xff0c;称为"特征选择"。 特征选择是一个重要的"…

Linux系统中的弹性计算功能

在当今数字化时代&#xff0c;弹性计算已经成为信息技术领域的重要概念之一。弹性计算指的是根据需要自动调整计算资源&#xff0c;以满足应用程序的需求。这种灵活性和自适应性使得弹性计算成为了云计算、大数据、人工智能等领域的核心技术之一。在这个领域中&#xff0c;Linu…

嵌入式软件--数电基础 DAY 4

1.SR锁存器 1》四种状态&#xff1a; S R Q Q set状态&#xff1a; 0 1 1 0 Reset状态&#xff1a; 1 0 0 1 维持状态&#xff1a; 1 1 维持上个状态 无意义状态…

VUE中出现Cannot find module ‘@/api/xxx.js‘ or its corresponding type declarations

在使用VSCode编写Vue程序时发现之前使用以下代码时却报出了错误 import {getEmployeeList} from /api/employee\ 保证文件地址正确且其中的方法也可以正常调用&#xff0c;只是报出了错误&#xff0c;该行代码上加入一个‘//ts-ignore’就可以解决。 修改后的代码 //ts-ig…

【mkdir rmdir】Centos/Linux mkdir rmdir命令详细介绍

【mkdir & rmdir】Centos/Linux mkdir & rmdir命令详细介绍 简介 mkdir rmdir 简介 mkdir 命令和 rmdir 命令是在 linux 当中比较常用的两个命令&#xff0c;这两个命令前者是创建空目录&#xff0c;后者是删除空目录。rmdir 命令的定位比较尴尬它的功能可以被 rm 命…

探索 Resolume Arena 7 - 引领 VJ 音视频创作的卓越软件

Resolume Arena 7 是一款专为 Mac 和 Windows 系统设计的强大 VJ 音视频软件&#xff0c;为创意专业人士和爱好者提供了丰富而出色的功能。 这款软件拥有直观且用户友好的界面&#xff0c;即使对于初学者来说&#xff0c;也能快速上手并开始创作。其强大的媒体管理功能&#x…

鸿蒙内核源码分析(物理内存篇) | 怎么管理物理内存

如何初始化物理内存? 鸿蒙内核物理内存采用了段页式管理&#xff0c;先看两个主要结构体.结构体的每个成员变量的含义都已经注解出来&#xff0c;请结合源码理解. #define VM_LIST_ORDER_MAX 9 //伙伴算法分组数量&#xff0c;从 2^0&#xff0c;2^1&#xff0c;...&a…

【JavaSec】反序列化初探(配合URLDNS)

JavaSec反序列化初探&#xff08;配合URLDNS&#xff09; 文章目录 JavaSec反序列化初探&#xff08;配合URLDNS&#xff09;基本demoMap入口类Java反射 基本demo 构建一个demo 实体类&#xff1a; package bli_seri;import java.io.Serializable;public class Person implem…

Crawlab 分布式部署指南:从 Scrapy 项目到单文件的全流程详解

crawlab分布式部署 远程服务器环境搭建 同之前gerapy分布式部署一样 添加服务器防火墙端口 redis&#xff1a;6379mysql&#xff1a;3306mogodb&#xff1a;27017scrapyd&#xff1a;6800crawlab&#xff1a;8080 访问crawlab服务&#xff1a;47.93.10.129 连接远程数据库 …

Unity Dots学习 (一)

先学习怎么使用&#xff0c;再研究底层代码。Dots大家都有所耳闻。一直没时间研究&#xff0c;最近研究一下 看上图可知&#xff0c;哪怕是CPU的第三级缓存也比内存要快2-5倍。 资料&#xff1a; 《DOTS之路》第零节——前导课(1)——DOTS的5W1H问题_哔哩哔哩_bilibili 《DOT…

javaweb的新能源充电系统pf

TOC springboot339javaweb的新能源充电系统pf 第1章 绪论 1.1 课题背景 二十一世纪互联网的出现&#xff0c;改变了几千年以来人们的生活&#xff0c;不仅仅是生活物资的丰富&#xff0c;还有精神层次的丰富。在互联网诞生之前&#xff0c;地域位置往往是人们思想上不可跨域…

SVG中的paint-order属性实现文字描边

过去只支持 SVG 元素 paint-order&#xff0c;表示绘制的顺序。 对于一个图形的绘制&#xff0c;顺序还是非常重要的。例如用SVG来绘制一个带边框的矩形 <style>rect{fill: #FFE8A3;stroke: #9747FF;stroke-width: 4;} </style><svg viewBox"0 0 300 30…

XSS-DOM

文章目录 源码SVG标签Dom-Clobbringtostring 源码 <script>const data decodeURIComponent(location.hash.substr(1));;const root document.createElement(div);root.innerHTML data;// 这里模拟了XSS过滤的过程&#xff0c;方法是移除所有属性&#xff0c;sanitize…

[数据集][图像分类]波色绝缘子缺失分类数据集1440张2类别

数据集类型&#xff1a;图像分类用&#xff0c;不可用于目标检测无标注文件 数据集格式&#xff1a;仅仅包含jpg图片&#xff0c;每个类别文件夹下面存放着对应图片 图片数量(jpg文件个数)&#xff1a;1440 分类类别数&#xff1a;2 类别名称:["missing","norma…

轻量高效的ControlNet开源 | ControlNetXt:支持主流生成架构,可与LoRA无缝集成!

当前的可控生成方法如ControlNet、Adapaters和ReferenceNet等通常需要大量额外的计算资源&#xff0c;尤其是对于视频生成&#xff0c;并且在训练中面临挑战或表现出较弱的控制力。 对此&#xff0c;港中文提出了一种轻量级可控模块&#xff1a;ControlNeXt&#xff0c;这是一…

PCIe Linux MRRS和MPS参数设置策略

1.概述 MPS&#xff08;Max Payload Size&#xff09;和MRRS&#xff08;Max Read Request Size&#xff09;共同影响PCIe总线的传输效率。如果MPS和MRRS设置的过小&#xff0c;传输相同长度的数据&#xff0c;需要更多的TLP报文&#xff0c;导致PCIe总线传输效率降低&#xf…

PHP多项目多场景排队叫号系统源码

&#x1f514;&#x1f4c8;多项目多场景排队叫号系统&#xff0c;让等待也高效有序&#xff01; 一、告别无序等待&#xff0c;智能排队新风尚 你是否曾在医院、银行或政务大厅等地方&#xff0c;面对冗长的队伍感到无奈&#xff1f;多项目多场景排队叫号系统&#xff0c;正…

Mybatis的分页,延迟加载和缓存

目录 分页&#xff1a; 方式一&#xff1a;利用 limit 实现物理分页 利用limit的关键字分页 方式二&#xff1a;RowBounds集合逻辑分页 方式三&#xff1a;插件分页 延迟加载和立即加载&#xff1a; 什么是立即加载&#xff1a; 什么是延迟加载 延迟加载的配置 缓存&a…

XSS漏洞洞讲解

目录 一、XSS漏洞的定义 1.什么是XSS漏洞&#xff1f; 二、XSS漏洞的类型 1.反射型 XSS 2.DOM型 XSS 3.存储型 XSS 三、实战案例演练 第1关 Ma Spaghet 第2关 Jefff 第3关 Ugandan Knuckles 第4关 Ricardo Milos 第5关 Ah Thats Hawt 第6关 Ligma ​第7关 Mafia …

c++ 使用Tesseract5.0 识别图片文字示例

Tesseract5.0相对于旧版本的程序&#xff0c;识别精准度会提升不少&#xff0c;如下&#xff1a; 1、示例1&#xff1a; 图片&#xff1a; 结果&#xff1a; 2、示例2&#xff1a; 图片&#xff1a; 结果&#xff1a; c代码如下&#xff1a; #include <iostream> #in…