Python 3 教程一:入门

5G核心网NAS消息解析:从协议字段到实际抓包分析(附Wireshark示例) 本文深入解析5G核心网NAS消息的实战分析方法,从协议字段解读到实际Wireshark抓包诊断。通过详解扩展协议鉴别器、安全头类型、流程事务标识等核心字段,并结合注册流程故障排查实例,指导工程师快速定位NAS层问题,提升5G网络调试与协议分析效率。 阅读详情

Python已经是3.1版本了,与时俱进更新教程.

  • 本文适合有Java编程经验的程序员快速熟悉Python
  • 本文程序在windows xp+python3.1a1 测试通过.
  • 本文提到的idle指python shell,即安装python后你在菜单看到的IDLE(python gui)
  • 在idle里ctrl+n可以打开一个新窗口,输入源码后ctrl+s可以保存,f5运行程序.
  • 凡打开新窗口即指ctrl+n的操作.

 

1 你好

#打开新窗口,输入:

#! /usr/bin/python
#
 -*- coding: utf8 -*- 


s1=input("Input your name:")
print("你好,%s" % s1)

'''
知识点:

    * input("某字符串")函数:显示"某字符串",并等待用户输入.
    * print()函数:如何打印.
    * 如何应用中文
    
* 如何用多行注释
'''    

 

2 字符串和数字

但有趣的是,在javascript里我们会理想当然的将字符串和数字连接,因为是动态语言嘛.但在Python里有点诡异,如下:

#! /usr/bin/python

a=2
b="test"
c=a+b


运行这行程序会出错,提示你字符串和数字不能连接,于是只好用内置函数进行转换

#! /usr/bin/python
#
运行这行程序会出错,提示你字符串和数字不能连接,于是只好用内置函数进行转换
a=2
b="test"
c=str(a)+b
d="1111"
e=a+int(d)
#How to print multiply values
print ("c is %s,e is %i" % (c,e))
'''
知识点:

    * 用int和str函数将字符串和数字进行转换
    * 打印以#开头,而不是习惯的//
    * 打印多个参数的方式
    
'''

 

3 列表

#! /usr/bin/python
#
 -*- coding: utf8 -*-
#
列表类似Javascript的数组,方便易用

#定义元组
word=['a','b','c','d','e','f','g']

#如何通过索引访问元组里的元素
a=word[2]
print ("a is: "+a)
b=word[1:3]
print ("b is: ")
print (b) # index 1 and 2 elements of word.
c=word[:2]
print ("c is: ")
print (c) # index 0 and 1 elements of word.
d=word[0:]
print ("d is: ")
print (d) # All elements of word.

#元组可以合并
e=word[:2]+word[2:]
print ("e is: ")
print (e) # All elements of word.
f=word[-1]
print ("f is: ")
print (f) # The last elements of word.
g=word[-4:-2]
print ("g is: ")
print (g) # index 3 and 4 elements of word.
h=word[-2:]
print ("h is: ")
print (h) # The last two elements.
i=word[:-2]
print ("i is: ")
print (i) # Everything except the last two characters
l=len(word)
print ("Length of word is: "+ str(l))
print ("Adds new element")
word.append('h')
print (word)

#删除元素
del word[0]
print (word)
del word[1:3]
print (word)

'''
知识点:

    * 列表长度是动态的,可任意添加删除元素.
    * 用索引可以很方便访问元素,甚至返回一个子列表
    * 更多方法请参考Python的文档
'''

 

4 字典

#! /usr/bin/python

x={'a':'aaa','b':'bbb','c':12}
print (x['a'])
print (x['b'])
print (x['c'])

for key in x:
    print ("Key is %s and value is %s" % (key,x[key]))
    
'''
知识点:

    * 将他当Java的Map来用即可.

'''

 

5 字符串

比起C/C++,Python处理字符串的方式实在太让人感动了.把字符串当列表来用吧.

#! /usr/bin/python

word="abcdefg"
a=word[2]
print ("a is: "+a)
b=word[1:3]
print ("b is: "+b) # index 1 and 2 elements of word.
c=word[:2]
print ("c is: "+c) # index 0 and 1 elements of word.
d=word[0:]
print ("d is: "+d) # All elements of word.
e=word[:2]+word[2:]
print ("e is: "+e) # All elements of word.
f=word[-1]
print ("f is: "+f) # The last elements of word.
g=word[-4:-2]
print ("g is: "+g) # index 3 and 4 elements of word.
h=word[-2:]
print ("h is: "+h) # The last two elements.
i=word[:-2]
print ("i is: "+i) # Everything except the last two characters
l=len(word)
print ("Length of word is: "+ str(l))


中文和英文的字符串长度是否一样?

#! /usr/bin/python
#
 -*- coding: utf8 -*- 

s=input("输入你的中文名,按回车继续");
print ("你的名字是  : " +s)

l=len(s)
print ("你中文名字的长度是:"+str(l))


知识点:

  • 类似Java,在python3里所有字符串都是unicode,所以长度一致.

 

6 条件和循环语句


#
! /usr/bin/python
#条件和循环语句

x=int(input("Please enter an integer:"))
if x<0:
    x=0
    print ("Negative changed to zero")

elif x==0:
    print ("Zero")

else:
    print ("More")


# Loops List
a = ['cat', 'window', 'defenestrate']
for x in a:
    print (x, len(x))

#知识点:

#    * 条件和循环语句
#
    * 如何得到控制台输入

 

7 函数

#! /usr/bin/python
#
 -*- coding: utf8 -*- 

def sum(a,b):
    return a+b


func = sum
r = func(5,6)
print (r)

# 提供默认值
def add(a,b=2):
    return a+b
r=add(1)
print (r)
r=add(1,5)
print (r)


一个好用的函数

#! /usr/bin/python
#
 -*- coding: utf8 -*- 

# The range() function
a =range (1,10)
for i in a:
    print (i)
    
a = range(-2,-11,-3) # The 3rd parameter stands for step
for i in a:
    print (i)


知识点:

  • Python 不用{}来控制程序结构,他强迫你用缩进来写程序,使代码清晰.
  • 定义函数方便简单
  • 方便好用的range函数

 

8 异常处理

#! /usr/bin/python
s=input("Input your age:")
if s =="":
    raise Exception("Input must no be empty.")

try:
    i=int(s)
except Exception as err:
    print(err)
finally: # Clean up action
    print("Goodbye!")

 

9 文件处理

对比Java,python的文本处理再次让人感动

#! /usr/bin/python

spath="D:/download/baa.txt"
f=open(spath,"w") # Opens file for writing.Creates this file doesn't exist.
f.write("First line 1./n")
f.writelines("First line 2.")

f.close()

f=open(spath,"r") # Opens file for reading

for line in f:
    print("每一行的数据是:%s"%line)

f.close()


知识点:

  • open的参数:r表示读,w写数据,在写之前先清空文件内容,a打开并附加内容.
  • 打开文件之后记得关闭

 

10 类和继承

class Base:
    def __init__(self):
        self.data = []
    def add(self, x):
        self.data.append(x)
    def addtwice(self, x):
        self.add(x)
        self.add(x)

# Child extends Base
class Child(Base):
    def plus(self,a,b):
        return a+b

oChild =Child()
oChild.add("str1")
print (oChild.data)
print (oChild.plus(2,3))

'''
知识点:

    * self:类似Java的this参数
    
'''

 

11 包机制

每一个.py文件称为一个module,module之间可以互相导入.请参看以下例子:

# a.py
def add_func(a,b):
    return a+b

 

# b.py
from a import add_func # Also can be : import a

print ("Import add_func from module a")
print ("Result of 1 plus 2 is: ")
print (add_func(1,2))    # If using "import a" , then here should be "a.add_func"


module可以定义在包里面.Python定义包的方式稍微有点古怪,假设我们有一个parent文件夹,该文件夹有一个child子文件夹.child中有一个module a.py . 如何让Python知道这个文件层次结构?很简单,每个目录都放一个名为_init_.py 的文件.该文件内容可以为空.这个层次结构如下所示:

parent 
  --__init_.py
  --child
    -- __init_.py
    --a.py

b.py


那么Python如何找到我们定义的module?在标准包sys中,path属性记录了Python的包路径.你可以将之打印出来:

import sys

print(sys.path)


通常我们可以将module的包路径放到环境变量PYTHONPATH中,该环境变量会自动添加到sys.path属性.另一种方便的方法是编程中直接指定我们的module路径到sys.path 中:

import sys
import os
sys.path.append(os.getcwd()+'//parent//child')

print(sys.path)

from a import add_func


print (sys.path)

print ("Import add_func from module a")
print ("Result of 1 plus 2 is: ")
print (add_func(1,2))


知识点:

  • 如何定义模块和包
  • 如何将模块路径添加到系统路径,以便python找到它们
  • 如何得到当前路径

 

12 内建帮助手册

对比C++,Java的突出进步是内建Javadoc机制,程序员可以通过阅读Javadoc了解函数用法.Python也内建了一些方便函数以便程序员参考.

  • dir函数: 查看某个类/对象的方法. 如果有某个方法想不起来,请敲dir. 在idle里,试试 dir(list)
  • help函数: 详细的类/对象介绍. 在idle里, 试试 help(list)
考试遇到 Assistant API 考点时,该掌握哪些要点? 【摘要】聚焦阿里云大模型 ACP 认证中智能体 Assistant API 考点,我结合自学认证成功经验,分享复习攻略。先解析 assistants、threads 等五个核心组件作用与关系,点明各组件支持及不支持的方法,最后给出计算 Python 代码调用大模型次数的思路,助力考生攻克考点、顺利拿证 。 阅读详情

相关推荐

合成孔径雷达Chirp Scaling(CS)算法MATLAB仿真实现

本人也是初学《合成孔径雷达成像算法与实现》,在GitHub上下载的关于CS算法的代码,仔细读了读,发现中间有一些不合理之处,动手改了一改,重新写了一个代码供初学者学习,有什么问题留言即可。 非常感谢源代码的作者,虽然中间有少许不正确的地方,但是对我理解cs算法的帮助非常大,非常感谢!!! 代码中提到的(4.31)这种均是在《合成孔径雷达成像算法与实现》中的公式 以下是MATLAB的仿真程序,直接复...

weixin_41700188的博客 7853

Python基础篇(一)

1.虚拟环境的创建和使用 首先来看一下在pycharm中运行一个Python的工程文件需要手动创建一个虚拟环境 打开终端! python -m venv yang_env # 创建虚拟环境 yang_env自己设定的名称 yang_env\Scripts\activate.bat # 运行虚拟环境 虚拟环境创建好之后就可以进行代码的编写了! 2.输入输出工具 ① 输入工具...

champion 670

基于8086微机原理数字钟计时器系统设计

*单片机设计介绍,基于8086微机原理数字钟计时器系统设计。

2201_75940997的博客 1279

python第一章 python基础知识(1)

Python第1章 python基础知识(1) 1,已知x=7和y=8,执行语句 x, y = y, x 后x的值是7。 错 2,在Python中,单个字符必须用单引号括起来表示,多个字符用双引号括起来表示。 错! 题解:Python 要求,字符串必须使用引号括起来,可以使用单引号或者双引号,只要成对即可。字符串中的内容几乎可以包含任何字符,英文字符也行,中文字符也行。 3,下列标识符中,合法的是( )。 A.B....

qq_61138289的博客 2261

【Unity】YooAsset与HybridCLR:高效资源管理与代码热更的黄金组合

本文深入探讨了Unity开发中YooAsset与HybridCLR的组合应用,为需要长期运营的项目提供了完整的资源与代码热更新解决方案。YooAsset作为高效的资源管理框架,简化了AssetBundle的打包、加载与热更流程;而HybridCLR则攻克了IL2CPP模式下C#代码无法热更的难题。两者结合,实现了从资源到逻辑的平滑在线更新,极大提升了开发迭代与线上维护的效率。

weixin_29006701的博客 280

1104全部报表版本号-银监会报表

G4B_Ⅲ(a)X1《与非中央交易对手的衍生具交易对手信用风险违约风险计算表(现期风险暴露法)(第一档)》G4B_Ⅲ(b)X1《与非中央交易对手的证券融资交易对手信用风险违约风险计算表(权重法)(第一档)》G4B_Ⅲ(a1)X2《与非中央交易对手的衍生具交易对手信用风险违约风险计算表(标准法)(第二档)》Ⅲ(a)X2《与非中央交易对手的衍生具交易对手信用风险违约风险计算表(现期风险暴露法)(第二档)》Ⅲ(a1)X1《与非中央交易对手的衍生具交易对手信用风险违约风险计算表(标准法)(第一档)》

数字化老司机 6293

python基本语句及其意思_Python语法基础(1),一

一、Python的对象模型对象是Python语言中最基本的概率,在Python中处理的一切都是对象。Python中许多内置对象可提供编程者使用,内置对象可直接使用,如数字、字符串、列表 、del等;非内置对象需要导入模块才能使用,如正弦函数sin(x),随机产生函数random()等;常用内置对象如下:二、Python变量(不需要事先声明变量名及其类型)如>>>x = 3 ...

weixin_42458937的博客 2339

mtk-drm commit送显流程(二):内核态atomic_commit实现解析

本文深入解析了mtk-drm框架中atomic_commit机制的内核态实现流程,详细介绍了从用户态触发到硬件提交的完整调用链,包括状态检查、硬件提交等关键阶段。特别分析了MTK平台在动态刷新率、内存带宽优化等方面的特有实现策略,为开发者提供了调试技巧和常见问题解决方案。

weixin_30839881的博客 1305

python中x 1什么意思_Python中的X[:,0]和X[:,1]

https://blog.youkuaiyun.com/csj664103736/article/details/72828584python中 x=x[1:] 是什么意思將x的第二位到最后一位的內容賦給x。如 x = "abcdef"x = x[1:]print x結果為:"bcdef"Python join()http://www.runoob.com/python/att-string-join.htm...

weixin_39636857的博客 4394

辉芒微教程第五篇《定时器0实现LED灯闪烁》

定时器定时器,一听就跟个闹钟似的,对于嵌入式定时器大部分的应用中,也的确可以这么理解,但是这只能肤浅地这么理解,实际其功能不仅仅是用来计数定时,但是对于我们这种8位单片机,这么理解就够了。

qq_41809823的博客 723

11、机器学习中的聚类与隐马尔可夫模型

本文介绍了机器学习中的两种重要方法:聚类算法和隐马尔可夫模型(HMM)。聚类作为无监督学习的代表,适用于发现无标签数据中的结构,常见算法包括K-均值和自组织映射(SOM),并在传感器数据分析等场景中展现应用价值。隐马尔可夫模型则是一种可解释的序列模型,用于从观测数据中推断隐藏状态,广泛应用于语音识别、自然语言处理和生物信息学等领域。文章详细讲解了HMM的核心概念如马尔可夫性质、转移与发射概率,并通过TensorFlow实现了前向算法,展示了其计算观测序列概率的动态规划思想。最后对比了两类方法的应用场景,展望

garlic的博客 179

Python3入门教程一

1.python3环境 2.导入包 import *** 3.定义方法 def reverseWords(input): 4.基础数据类型 Python3 中有六个标准的数据类型: Number(数字) String(字符串) List(列表) Tuple(元组) Set(集合) Dictionary(字典) Python3 的六个标准数据类型中: 不可变数据(3 个):Number(...

叁木大数据 448

使用安卓的IMU数据进行 行人航位推算(PDR)推算步长 附python 代码

加速度计数据、陀螺仪数据、重力传感器数据、姿态仰角数据。数据分析与定位轨迹生成主要使用Python离线完成。示意图。

三维点云技术探索 1914

Python入门基础一——Python3教程 & Numpy教程

学习资料:https://www.runoob.com/python3/python3-intro.html Python 是一种解释型语言:这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。 Python 是交互式语言:这意味着,您可以在一个 Python 提示符>>>后直接执行代码。 Python 应用 Youtube - 视频社...

hello world 1033

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Python3 入门指南 | 菜鸟教程(一)

本文是Python3入门指南的第一部分,适合编程新手从零开始学习Python。内容涵盖Python环境搭建、基础语法、控制流程以及使用VS Code进行开发等核心知识点,帮助初学者快速掌握这门简洁强大的编程语言。特别推荐菜鸟教程作为学习资源,让编程学习更加高效。

weixin_42530793的博客 216

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

【2026】Python3入门基础教程一,附代码案例,快速入门。

在Python中,大部分函数都是有名函数 完成特定功能的代码段:函数的功能要专一,专门为了完成某个功能而定义 返回值:当函数执行完毕后,其可能会返回一个值给函数的调用处.函数的主要作用: ① 模块化编程 ② 代码重用# 定义一个函数,能够完成打印信息的功能print(' 人生苦短,我用Python ')定义函数(怎样制作函数)调用函数(怎样使用函数)def 函数名(形参):函数体函数名:一定有,按照命名规则起个名字,注意Python中建议使用小写加下划线的方式,例如。

weixin_70276309的博客 819

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Python3入门教程(一)

作为一门解释性语言就意味着在开发过程中没有了编译这一环节,作为一门面向对象的语言意味着Python支持面向对象的风格或代码封装在对象的编程技术。不可变数据:Number(数字)、String(字符串)、Tuple(元组);可变数据类型:List(列表)、Dictionary(字典)、Set(集合)用法如下图所示,注意:bool类型是int型的子类,True代表1,False代表0。数字包括 int(整形),flost(浮点型),bool(布尔),Complex(复数)(一)Number(数字)

qq_45341918的博客 139

python3入门教程小白入门(一、GET方法)

一、安装python(windows/linux) 详细安装方法:请自行百度安装python,官方网址:www.python.org 安装完python之后在cmd或者terminal输入python/python3 windows: linux: 二、python爬虫所需包或插件 requests(点击查看官方文档)作用:请求网页结构 BeautifulSoup4(点击查看...

genziisme的专栏 508
上一篇: MongoDB数据库文档说明
下一篇: Python 3 教程二:文件,目录和路径
HackProgramer
博客等级 码龄12年 255粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值