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, 1]

    sort(cmp=None, key=None, reverse=False)  ---列表排序

【Python Library Reference】
cmp:cmp specifies a custom comparison function of two arguments (iterable elements) which should return a negative, zero or positive number depending on whether the first argument is considered smaller than, equal to, or larger than the second argument: 
"cmp=lambda x,y: cmp(x.lower(), y.lower())" 
key:key specifies a function of one argument that is used to extract a comparison key from each list element: "key=str.lower"
reverse:reverse is a boolean value. If set to True, then the list elements are sorted as if each comparison were reversed.In general, the key and reverse conversion processes are much faster than specifying an 
equivalent cmp function. This is because cmp is called multiple times for each list element while key and reverse touch each element only once.

l5 = [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 基础语法(二) ----------------------------------------------

转载于:https://www.cnblogs.com/Peter-Zhang/archive/2011/12/25/2300187.html

Python笔记——Python 语法及入门 (超全超详细) 然后有些朋友可能下去也试了 print("%4.2f" % 11.345) 这段代码,发现输出是11.35,带上小数点是有5个宽度的,这是怎么回事呢?简单解释就是编译器在格式化时,如果格式化代码出现问题,会根据语义进行了代码优化,不然你试试下面这个代码 print("%1.2f" % 11.345) ,会发现输出依然是11.35,足以证实)> 嵌套列表时,被嵌套的列表可以看作个元素,第个下标就是确定元素是列表[1,2,3],再用个下标取出这个被嵌套的列表中的元素。 阅读详情

相关推荐

Python的基本语法

目录 1. print函数 2.变量 3. 常量 4. 标识符 5. 关键字(保留字) 6. input函数 7. 基本数据类型--数字类型 8. 算术运算符 9.赋值运算符 10.比较运算符(关系型运算符) 11.逻辑运算符 12.成员运算符 13.运算符优先级关系 练习:判断年是闰年还是平年。 1. print函数 功能:在屏幕上输出要输出的内容 语法: print(“输出内容”) 如果分别输出多个不同的内容时,可以用逗号隔开 示例: 2.变..

m0_69919595的博客 1823

Python基础语法体系(详细)

Python基础语法体系 :基本数据类型及操作 二:程序的控制结构 三:函数和代码复用 四:组合数据类型

Climb_Ma的博客 3万+

Python基础语法

python基础语法知识

观止study 3万+

Python | 基础语法总结(超详细)

变量名称 = 变量的值变量名称:每个变量都有自己的名称,称为:变量名,也就是变量本身= :赋值,表示将等号右边的值,赋予左边的变量变量的值:每个变量都有自己存储的值(内容),称为:变量值> *#定义个变量,用来记录钱包余额*> *#输出变量的内容*> print("钱包还有:" , money) *# print输出多个数据时,用,隔开*三引号定义法,多行注释写法相同,支持换行操作。使用变量接收它,它就是字符串,不适用变量接收它,它就可以作为多行注释使用。

m0_62283350的博客 3万+

图流学习python基础语法

图流学习python基础语法 由本人整理的mooc精品课程嵩天老师的python基础语法课程,以图流的思维导图形式展开,方便学习和使用 图片太大了导不进来只能放下载链接了,等我调整完图片大小再发次 ...

qq_44497516的博客 282

python 基础 python的安装基础语法

Python种解释型、面向对象、动态数据类型的高级程序设计语言。 Python由Guido van Rossum于1989年底发明,第个公开发行版发行于1991年。 像Perl语言样, Python 源代码同样遵循 GPL(GNU General Public License)协议。 python因为某种原因,导致在python3.x python2.x有较大区别,在使用时要特别注...

开开心心 318

Python基础语法

其中 a = 10。

AAlykk的博客 1195

Python基础) | Python的基本语法

⭐本专栏旨在对Python基础语法进行详解,精炼地总结语法中的重点,详解难点,面向零基础及入门的学习者,通过专栏的学习可以熟练掌握python编程,同时为后续的数据分析,机器学习及深度学习的代码能力打下坚实的基础。 🔥文章和代码已归档至【Github仓库】,需要的朋友们自取。或者关注公众号【AIShareLab】,回复 python基础 也可获取。

timerring的博客 3万+

Python基础语法

Python基础语法1 、Python执行程序的方式2、Python编程规范2.1、注释2.2、标识符2.3 、变量常量2.4、缩进2.4、命名规范3、Python基础语法3.1、Python语言输出3.2、Python语言输入4、总结 1 、Python执行程序的方式 Python执行程序共两种方式,分别是交互执行和文件执行。 在进入交互模式之前先要明白什么是命令模式。命令模式简言之就是D...

itbestboy的博客 714

Python 基础语法详解(

标识符是指用来标识某个实体的符号。换句话说,标识符就是程序员定义的变量名或函数名。 代码规范:命名约定:特殊意义的标识符:Python 可以在行中显示多条语句,用分号 分开。Python 的关键字又称保留字。可以使用标准库中的 模块,输出当前版本的所有关键字: 列表示例: 关键字特点:Python 其他语言最大的区别在于,Python 的代码块不使用大括号 来控制类、函数以及其他逻辑判断。Python 用 缩进对齐 来写模块。Python 通常行写完条语句,但如果语句很长,可以使用反斜杠 来

帅小柏的博客 1185

Python基础语法

Python基础语法

WEB___的博客 390

python】—— 基础语法

python基础语法介绍

m0_56069910的博客 3407

Python语法(全)

Python基础语法

boldht的博客 4万+

python语法基础

、注释 分为两类:单⾏注释 和 多⾏注释。 单⾏注释 只能注释⼀⾏内容,语法如下: 多⾏注释 可以注释多⾏内容,⼀般⽤在注释⼀段代码的情况 单⾏: # 注释内容 ,快捷键ctrl+/ 多⾏: """ 注释内容 """ 或 ''' 注释内容 ''' 二、定义变量 变量名 = 值 变量名⾃定义,要满⾜标识符命名规则。 标识符 标识符命名规则是Python中定义各种名字的时候的统⼀规范,具体如下: 由数字、字⺟、下划线组成 不能数字开头 不能

m0_52177571的博客 1万+

python基础语法

python基础语法

qq_48691693的博客 3845

python基础语法大全

在学习机器学习和机器视觉初学过程中我们难免会忘记python基础语法,此博客的目的是帮助大家回忆起python基础简单语法结构,方便大家查阅。 输出: 1 yi i'm i'm ab math 举个平方的例子 8 输出:0 1 2 1 2 3 4 function 函数定义格式 输出:7函数默认参数的定义 输出:5默认参数右边不......

yihouwen的博客 1万+

Python基础语法速成:变量、循环、条件判断、函数定义

Python以其简洁易读的语法闻名,被称为"可执行的伪代码"。很多人说Python入门简单,但其实最核心的基础语法也就那么几个概念。今天我来带大家速成Python基础语法,包括变量、数据类型、条件判断、循环、函数等核心内容,每个知识点都配有代码示例和实际应用场景,让你看就懂,学就会!

沉淀所学,分享所思,让热爱与成长同行。商务记录AI实战经验,助力开发者快速成长。 热爱AI,希望做出有影响力的技术成果。 技术点亮生活,分享连接价值与机会。 专注AI落地实战,陪你走好技术每一步。 2万+
上一篇: jQuery 插件autocomplete 应用
下一篇: Python 基础语法(二)
dengwen9264
博客等级 码龄10年 2粉丝 0原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值