首页 > 编程语言 >Python基础语法,非常值得新手小白学习!

Python基础语法,非常值得新手小白学习!

时间:2024-06-22 17:31:07浏览次数:12  
标签:返回 False Python 列表 语法 print 新手 True

Python基础语法(一)

Python的特点

  1. 简单

    Python是一种代表简单思想的语言。

  2. 易学

    Python有极其简单的语法。

  3. 免费、开源

    Python是FLOSS(自由/开放源码软件)之一。

  4. 高层语言

    使用Python编写程序时无需考虑如何管理程序使用的内存一类的底层细节。

  5. 可移植性

    Python已被移植到很多平台,这些平台包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、

  BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、

  Windows CE甚至还有PocketPC。

  6. 解释性

    可以直接从源代码运行。在计算机内部,python解释器把源代码转换为字节码的中间形式,然后再把它翻译成计算机使用的机器语言。

  7. 面向对象

    Python既支持面向过程编程也支持面向对象编程。

  8. 可扩展性

    部分程序可以使用其他语言编写,如c/c++。

  9. 可嵌入型

    可以把Python嵌入到c/c++程序中,从而提供脚本功能。

  10. 丰富的库

    Python标准库确实很庞大。它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、

  电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)、Tk和其他与系统有关的操作。

---------------分割线------------------------以下是Python的基本语法---------------------------------------------------------

一、基本概念

  1. python中数有四种类型:整数、长整数、浮点数和复数。

  • 整数, 如 1
  • 长整数 是比较大的整数
  • 浮点数 如 1.23、3E-2
  • 复数 如 1 + 2j、 1.1 + 2.2j

  2. 字符串(字符的序列)

  • python中单引号和双引号使用完全相同。
  • 使用三引号('''或""")可以指定一个多行字符串。
  • 转义符 '\'
  • 自然字符串, 通过在字符串前加r或R。 如 r"this is a line with \n" 则\n会显示,并不是换行。
  • python允许处理unicode字符串,加前缀u或U, 如 u"this is an unicode string"。
  • 字符串是不可变的。
  • 按字面意义级联字符串,如"this " "is " "string"会被自动转换为this is string。

  3. 标识符的命名

  • 第一个字符必须是字母表中字母或下划线'_'。
  • 标识符的其他的部分有字母、数字和下划线组成。
  • 标识符对大小写敏感。

  4. 对象

    python程序中用到的任何“东西”都成为“对象”。

  5. 逻辑行和物理行

    物理行是我们在编写程序时看到的,逻辑行则是python看到的。

    python中分号;标识一个逻辑行的结束,但是实际中一般每个物理行只写一个逻辑行,可以避免使用分号。

    多个物理行中可以写一个逻辑行,如下:

s = "peter is \
writing this article"

    上面\的使用被称为‘明确的行连接’, 又如:

print \
"peter"

  6. 缩进

    空白在python是非常重要的,行首的空白是最重要的,又称为缩进。行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而决定语句

  分组。这意味着同一层次的语句必须有相同的缩进,每一组这样的语句称为一个块。

  注意:不要混合使用空格和制表符来缩进,因为在跨越不同的平台时无法正常工作。

二、运算符与表达式

  1. 运算符与其用法

运算符名称说明例子
+两个对象相加3 + 5得到8。'a' + 'b'得到'ab'。
-得到负数或是一个数减去另一个数-5.2得到一个负数。50 - 24得到26。
*两个数相乘或是返回一个被重复若干次的字符串2 * 3得到6。'la' * 3得到'lalala'。
**

返回x的y次幂

3 ** 4得到81(即3 * 3 * 3 * 3)
/x除以y4/3得到1(整数的除法得到整数结果)。4.0/3或4/3.0得到1.3333333333333333
//取整除返回商的整数部分4 // 3.0得到1.0
%取模返回除法的余数8%3得到2。-25.5%2.25得到1.5
<<左移把一个数的比特向左移一定数目(每个数在内存中都表示为比特或二进制数字,即0和1)2 << 2得到8。——2按比特表示为10
>>右移把一个数的比特向右移一定数目11 >> 1得到5。——11按比特表示为1011,向右移动1比特后得到101,即十进制的5。
&按位与数的按位与5 & 3得到1。
|按位或数的按位或5 | 3得到7。
^按位异或数的按位异或5 ^ 3得到6
~按位翻转x的按位翻转是-(x+1)~5得到6。
<小于返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊的变量True和False等价。注意,这些变量名的大写。5 < 3返回0(即False)而3 < 5返回1(即True)。比较可以被任意连接:3 < 5 < 7返回True。
>大于返回x是否大于y5 > 3返回True。如果两个操作数都是数字,它们首先被转换为一个共同的类型。否则,它总是返回False。
<=小于等于返回x是否小于等于yx = 3; y = 6; x <= y返回True。
>=大于等于返回x是否大于等于yx = 4; y = 3; x >= y返回True。
==等于比较对象是否相等x = 2; y = 2; x == y返回True。x = 'str'; y = 'stR'; x == y返回False。x = 'str'; y = 'str'; x == y返回True。
!=不等于比较两个对象是否不相等x = 2; y = 3; x != y返回True。
not布尔“非”如果x为True,返回False。如果x为False,它返回True。x = True; not y返回False。
and布尔“与”如果x为False,x and y返回False,否则它返回y的计算值。x = False; y = True; x and y,由于x是False,返回False。在这里,Python不会计算y,因为它知道这个表达式的值肯定是False(因为x是False)。这个现象称为短路计算。
or布尔“或”如果x是True,它返回True,否则它返回y的计算值。x = True; y = False; x or y返回True。短路计算在这里也适用。

   2. 运算符优先级(从低到高)

运算符描述
lambdaLambda表达式
or布尔“或”
and布尔“与”
not x布尔“非”
in,not in成员测试
is,is not同一性测试
<,<=,>,>=,!=,==比较
|按位或
^按位异或
&按位与
<<,>>移位
+,-加法与减法
*,/,%乘法、除法与取余
+x,-x正负号
~x按位翻转
**指数
x.attribute属性参考
x[index]下标
x[index:index]寻址段
f(arguments...)函数调用
(experession,...)绑定或元组显示
[expression,...]列表显示
{key:datum,...}字典显示
'expression,...'字符串转换

   3. python 控制台输出 使用print

print "abc"    #打印abc并换行
print "abc%s" % "d"    #打印abcd
print "abc%sef%s" % ("d", "g")    #打印abcdefg

三、控制流

  1. if 语句

i = 10
n = int(raw_input("enter a number:"))

if n == i:
    print "equal"
elif n < i:
    print "lower"
else:
    print "higher"

   2. while语句

while True:
    pass
else:
    pass
#else语句可选,当while为False时,else语句被执行。 pass是空语句。

  3. for 循环 for..in

for i in range(0, 5):
    print i
else:
    pass
# 打印0到4

  注:当for循环结束后执行else语句;

    range(a, b)返回一个序列,从a开始到b为止,但不包括b,range默认步长为1,可以指定步长,range(0,10,2);

  4. break语句

    终止循环语句,如果从for或while中终止,任何对应循环的else将执行。

  5. continue语句

    continue语句用来调过当前循环的剩余语句,然后继续下一轮循环。

四、函数

  函数通过def定义。def关键字后跟函数的标识符名称,然后跟一对圆括号,括号之内可以包含一些变量名,该行以冒号结尾;接下来是一块语句,即函数体。

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

  1. 函数形参

    函数中的参数名称为‘形参’,调用函数时传递的值为‘实参’

  2. 局部变量

    在函数内定义的变量与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是局部的。这称为变量的作用域。

    global语句, 为定义在函数外的变量赋值时使用global语句。

def func():
    global x
    print "x is ", x
    x = 1

x = 3
func()
print x

#3
#1 

  3. 默认参数

    通过使用默认参数可以使函数的一些参数是‘可选的’。

def say(msg, times =  1):
    print msg * times

say("peter")
say("peter", 3)

    注意:只有在形参表末尾的那些参数可以有默认参数值,即不能在声明函数形参的时候,先声明有默认值的形参而后声明没有默认值的形参,只是因为赋给形参的值是根据位置而赋值的。

  4. 关键参数

    如果某个函数有很多参数,而现在只想指定其中的部分,那么可以通过命名为这些参数赋值(称为‘关键参数’)。

    优点:不必担心参数的顺序,使函数变的更加简单;假设其他参数都有默认值,可以只给我们想要的那些参数赋值。

def func(a, b=2, c=3):
    print "a is %s, b is %s, c is %s" % (a, b, c)

func(1) #a is 1, b is 2, c is 3
func(1, 5) #a is 1, b is 5, c is 3
func(1, c = 10) #a is 1, b is 2, c is 10
func(c = 20, a = 30) #a is 30, b is 2, c is 20

  5. return 语句

    return语句用来从一个函数返回,即跳出函数。可从函数返回一个值。

    没有返回值的return语句等价于return None。None表示没有任何东西的特殊类型。

  6. DocStrings (文档字符串)

def func():
    '''This is self-defined function

Do nothing'''
    pass

print func.__doc__

#This is self-defined function
#
#Do nothing

五、模块

  模块就是一个包含了所有你定义的函数和变量的文件,模块必须以.py为扩展名。模块可以从其他程序中‘输入’(import)以便利用它的功能。

  在python程序中导入其他模块使用'import', 所导入的模块必须在sys.path所列的目录中,因为sys.path第一个字符串是空串''即当前目录,所以程序中可导入当前目录的模块。

   1. 字节编译的.pyc文件

    导入模块比较费时,python做了优化,以便导入模块更快些。一种方法是创建字节编译的文件,这些文件以.pyc为扩展名。

    pyc是一种二进制文件,是py文件经编译后产生的一种byte code,而且是跨平台的(平台无关)字节码,是有python虚拟机执行的,类似于

  java或.net虚拟机的概念。pyc的内容,是跟python的版本相关的,不同版本编译后的pyc文件是不同的。

  2. from .. import

    如果想直接使用其他模块的变量或其他,而不加'模块名+.'前缀,可以使用from .. import。

    例如想直接使用sys的argv,from sys import argv 或 from sys import *

  3. 模块的__name__

    每个模块都有一个名称,py文件对应模块名默认为py文件名,也可在py文件中为__name__赋值;如果是__name__,说明这个模块被用户

  单独运行。

  4. dir()函数

    dir(sys)返回sys模块的名称列表;如果不提供参数,即dir(),则返回当前模块中定义名称列表。

    del -> 删除一个变量/名称,del之后,该变量就不能再使用。

六、数据结构

  python有三种内建的数据结构:列表、元组和字典。

  1. 列表

    list是处理一组有序项目的数据结构,列表是可变的数据结构。列表的项目包含在方括号[]中,eg: [1, 2, 3], 空列表[]。判断列表中是否包含某项可以使用in, 比如 l = [1, 2, 3]; print 1 in l; #True;支持索引和切片操作;索引时若超出范围,则IndexError;使用函数len()查看长度;使用del可以删除列表中的项,eg: del l[0] # 如果超出范围,则IndexError

    list函数如下:

    append(value)  ---向列表尾添加项value

l = [1, 2, 2]
l.append(3) #[1, 2, 2, 3]

    count(value)  ---返回列表中值为value的项的个数

l = [1, 2, 2]
print l.count(2) # 2

    extend(list2)  ---向列表尾添加列表list2

l = [1, 2, 2]
l1 = [10, 20]
l.extend(l1)
print l   #[1, 2, 2, 10, 20]

    index(value, [start, [stop]])  ---返回列表中第一个出现的值为value的索引,如果没有,则异常 ValueError

l = [1, 2, 2]
a = 4
try:
    print l.index(a)
except ValueError, ve:
    print "there is no %d in list" % a

    insert(i, value)  ---向列表i位置插入项vlaue,如果没有i,则添加到列表尾部

l = [1, 2, 2]

l.insert(1, 100)
print l #[1, 100, 2, 2]

l.insert(100, 1000)
print l #[1, 100, 2, 2, 1000]

    pop([i])  ---返回i位置项,并从列表中删除;如果不提供参数,则删除最后一个项;如果提供,但是i超出索引范围,则异常IndexError

l = [0, 1, 2, 3, 4, 5]

print l.pop() # 5
print l #[0, 1, 2, 3, 4]

print l.pop(1) #1
print l #[0, 2, 3, 4]

try:
    l.pop(100)
except IndexError, ie:
    print "index out of range"

    remove(value)  ---删除列表中第一次出现的value,如果列表中没有vlaue,则异常ValueError

l = [1, 2, 3, 1, 2, 3]

l.remove(2)
print l #[1, 3, 1, 2, 3]

try:
    l.remove(10)
except ValueError, ve:
    print "there is no 10 in list"

    reverse()  ---列表反转

l = [1, 2, 3]
l.reverse()
print l #[3, 2, 1l5 = [10, 5, 20, 1, 30]
l5.sort()
print l5 #[1, 5, 10, 20, 30]

l6 = ["bcd", "abc", "cde", "bbb"]
l6.sort(cmp = lambda s1, s2: cmp(s1[0],s2[1]))
print l6 #['abc', 'bbb', 'bcd', 'cde']

l7 = ["bcd", "abc", "cde", "bbb", "faf"]
l7.sort(key = lambda s: s[1])
print l7 #['faf', 'abc', 'bbb', 'bcd', 'cde']

最后,如果你对Python感兴趣,想要学习python,希望可以帮到你,一起加油!以上是给大家分享的Python全套学习资料,都是我自己学习时整理的:

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

图片

图片

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,还有环境配置的教程,给大家节省了很多时间。

图片

三、全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

图片

四、入门学习视频全套

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

图片

图片

五、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

图片

图片

**学习资源已打包,需要的小伙伴可以戳这里:【学习资料】 

 

标签:返回,False,Python,列表,语法,print,新手,True
From: https://blog.csdn.net/Python_Alex/article/details/139883908

相关文章

  • python新手开发一个物联网应用
    开发一个物联网(IoT)应用涉及多个方面,包括硬件选择、网络连接、数据传输、数据处理和用户界面。下面是一个简单的物联网应用示例,它使用Python语言和MQTT协议进行数据传输。硬件要求:RaspberryPi(或其他兼容的微控制器)温度传感器(例如DHT11)软件要求:Python3paho-mqtt(Python的......
  • Python 全栈系列256 异步任务与队列消息控制(填坑)
    说明每个创新都会伴随着一系列的改变。在使用celery进行异步任务后,产生的一个问题恰好也是因为异步产生的。内容1问题描述我有一个队列stream1,对应的worker1需要周期性的获取数据,对输入的数据进行模式识别后分流。worker1我设施为10秒运行一次。然后我就发现输出......
  • Python—学生信息管理系统
    用Python来实现学生信息管理系统学生信息管理系统(Python)简介:基本信息管理和学生成绩管理。基本信息管理模块的主要功能有学生信息的添加、删除、修改、显示和学生数据的导入导出,学生成绩管理模块的主要功能有统计课程最高分、最低分和平均分。一、功能模块:基本信息管理......
  • 参考Python官网学习Python
    参考Python官网学习PythonPython教程—Python3.12.4文档Python:Python解释器易于扩展,使用C或C++(或其他C能调用的语言)即可为Python扩展新功能和数据类型。Python也可用作定制软件中的扩展程序语言。-------------------------------------------------------------......
  • Python 潮流周刊#57:Python 该采用日历版本吗?
    本周刊由Python猫出品,精心筛选国内外的250+信息源,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿景:帮助所有读者精进Python技术,并增长职业和副业的收入。本期周刊分享了12篇文章,12个开源项目,赠书5本,全文2200字。以下是本期......
  • python3使用pyVmomi获取vCenter中虚拟机cpu/内存信息
    原创文档编写不易,未经许可请勿转载。文档中有疑问的可以邮件联系我。邮箱:[email protected]说明文章分享在Linux操作系统中安装python3环境,并通过pyVmomi获取vCenter中运行的虚拟机信息,最后把获取的虚拟机数据存储到数据库中。前三章为基础环境构建,第四章为脚本代码。环境软......
  • Python网络爬虫的实现,要想学编程,首先的把爬虫学好!
    爬虫实现1.爬虫初步实现(1)我们爬取中国化工市场机械网,以下为相关代码演示importrequestsfrombs4importBeautifulSoupres=requests.get(addresses[i])res.encoding='GB18030'#通过修改编码方式为GB18030,兼容网站编码(gb2312)#这里的'html.parser......
  • python: fucontion
     defsixteenFoo(k):"""十六進制:paramk::return:"""fstr=''ifk==10:fstr="A"elifk==11:fstr="B"elifk==12:fstr=&q......
  • .Net开发 ,Java开发 ,python开发 数据库开发,开发相关工具
    开发电脑安装相关工具软件Java开发Java编程、高级编程、面试题资料Python编程,网络编程,爬虫,面试,设计资料数据库mysql,sqlservice,sql优化资料C#语言、.Net开发、.Net高级编程资料......
  • 新闻管理与推荐系统Python+Django+协同过滤推荐算法+管理系统
    一、介绍新闻管理与推荐系统。本系统使用Python作为主要开发语言开发的一个新闻管理与推荐的网站平台。网站前端界面采用HTML、CSS、BootStrap等技术搭建界面。后端采用Django框架处理用户的逻辑请求,并将用户的相关行为数据保存在数据库中。通过Ajax技术实现前后端的数据通信。......