python学习(二):python基本语法

时间:2021-12-01 22:45:58

前言:python基本的语法与其他语言诸如C,JAVA等类似,但个中有些许不同。

一、常规语法

1.变量名与关键字

与其他语言类似,变量名由字母、数字、下划线组成,且必须由字母开头。

变量使用不需要提前声明。

2.常用数据类型

int 整型

float 浮点数

str 字符串

用type(a)来求得变量a的类型

在交互式平台中输入如下语句:

a = 3
type(a)

该语句会输出

<type 'int'>

注意:python中不需要用分号(或其他符号)来表示语句的结束,当然加上分号也不会报错。

当然除此之外,python中还有一些复杂的数据类型。如list,tuple。这将在后面讲述。

3.常用操作运算等

与其他类似,+,-,*,/,%

其中整数除法还是整数。如要结果是小数,必须是点除./

4.条件控制语句

格式如下:

if <条件式子>:
语句一
elif <条件式子>:
语句二
else:
语句三

实际情况中,可只有if,或if…else…

5.循环体

1)for循环

格式:

for i in range(times):
do something

这里range()是python的内置函数,表示从1到times的列表。这里相当于循环times次。

函数完整形式:range(start,end,step)

这只是for循环最简单的一种形式,还有其他形式,比如下面这个例子:

遍历列表a,并打印出它的元素,我们可以这样写

a = [2,5,8,9,2,4,0]
length = a.__len__()
for i in range(length):
print a[i]

但是更简单的方式则是下面的形式:

a = [2,5,8,9,2,4,0]
for i in a:
print i

2)while循环

格式:

while <条件式>:
do something

eg:输出10到1:

i = 10
while i>0:
print i
i -= 1

6.终止语句

1)return

函数中返回值。例如:

def absolute_value(a):
if a>0:
return a
else:
return -a
print absolute_value(-3)

输出结果:

3

其中def是对函数的声明,这里定义了一个求绝对值的函数。

2)break

break的作用是跳出循环,执行循环体以外的语句,例如:

for i in range(10):
if (i%2==0):
print i
break
else:
print i+1
print('Finish')

输出结果是:

0
Finish

3)continue

continue的作用是跳出当前循环,执行下一次循环,例如:

for i in range(10):
if (i%2==0):
print i
continue
else:
print i+1
print('Finish')

输出结果是:

0
2
2
4
4
6
6
8
8
10
Finish

7.函数,又叫模块

函数的格式为:

def <函数名>(<参数集>):
函数体

例如:

def absolute_value(a):
if a>0:
return a
else:
return -a
print absolute_value(-3)

其中参数可以为空,也可以为多个。例如:

def sayHello():
print 'Hello'
def maxInt(a,b):
if a>b:
return a
else:
return b

注意:python中不用括号来区分语句块,而是用缩进来表示。因此在写程序的过程中一定要掌握好缩进。

另外:如果我们想引用另一个程序中的函数,则可以使用import

例如:

import numpy as ny
print ny.abs(-3)

我们要使用第三方库numpy中绝对值方法。因此使用import导入numpy,并将其重命名为ny

当然还可以使用:

from numpy import *

*表示该包中的所有内容。当然也可以指定我们要使用的内容,例如:

from numpy import abs
print abs(-3)

函数可以调用其他函数,例如:

#说times次Hello
def sayHello(times):
for i in range(times):
print 'Hello'
#计算一个数的绝对值
def absolute_value(a):
if a>0:
return a
else:
return -a
#计算两个数在数轴上距离原点最大的距离
def maxInt(a,b):
aa = absolute_value(a)#这里调用了计算绝对值的函数
bb = absolute_value(b)#这里调用了计算绝对值的函数
if aa>bb:
print a,"is more far"
return aa
print b,"is more far"
return bb maxInt(4,-9)

输出:

-9 is more far
9

当然函数不仅可以返回int型,也可以返回float,boolean,str等,例如:

def is_divisible(x,y):
if (x%y==0):
return True
else:
return False
def findByIndex(string,i):
return string[i]
def division(x,y):
return x./y

8.用户输入

1)input

a = input()

2)raw_input()

a = raw_input()

例如:

a = input()
print a
print type(a)
b = raw_input()
print(b)
print type(b)

输出结果:

2#这是用户输入的
2#这是程序输出的
<type 'int'>
ddd#这是用户输入的
ddd#这是程序输出的
<type 'str'>

9.字符串

1)字符串长度

使用len函数

s = "liwenbao"
print len(s)

输出:

8

2)字符串切片

使用方括号[start:end]

s[2:4]

输出:

wen

3)字符串连接

使用加号“+”

a = "li"
b = "wenbao"
c = a + b
print c

输出:

liwenbao

3)字符串比较

使用比较符号,>,<,=

a = 'banana'
b = 'banana'
c = 'bababa'
print a > b#其它有用的比较运算是把词按照字母顺序排列
print a == b#比较两个字符串是否相等
print a > c#其它有用的比较运算是把词按照字母顺序排列

输出:

False
True
True

4)字符串是不可变的

例如:

a = 'liwenbao'
a[6] = 's'

报错:

    a[6] = 's'
TypeError: 'str' object does not support item assignment

如果想要改变字符串的某个字符,必须另外新建一个字符串。

当然如果要改变整个字符串是可以的,例如:

a = 'liwenbao'
print a
a = 'li ting'
print a

输出:

liwenbao
li ting

//待续

python学习(二):python基本语法的更多相关文章

  1. Python学习二&vert;Python的一些疑问

    最近写了一点Python代码,作为一个java程序员,面对Python这么便捷的语言不禁有点激动.不过呢,有时候也会遇到一些无法理解的东西. 例如: er = [[1,2,3], [4,5,6], [ ...

  2. Python学习二:词典基础详解

    作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/7862377.html 邮箱:moyi@moyib ...

  3. Python学习day09 - Python进阶(3)

    figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...

  4. Python学习day05 - Python基础&lpar;3&rpar; 格式化输出和基本运算符

    figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...

  5. Python学习笔记—Python基础1 介绍、发展史、安装、基本语法

    第一周学习笔记: 一.Python介绍      1.Python的创始人为吉多·范罗苏姆.1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言 ...

  6. Python学习笔记&lpar;Ⅰ&rpar;——Python程序结构与基础语法

    作为微软的粉丝,最后终于向Python低头了,拖了两三个月终于下定决心学习Python了.不过由于之前受到C/C#等语言影响的思维定式,前期有些东西理解起来还是很费了些功夫的. 零.先抄书: 1.Py ...

  7. 【Python学习】Python3 基础语法

    ==================================================================================================== ...

  8. 01-Python学习笔记-基础语法

    Python标识符 -d           在解析时显示调试信息 -O           生成优化代码 ( .pyo 文件 ) -S           启动时不引入查找Python路径的位置 - ...

  9. Python 学习笔记(基础语法 restful 、 Flask 和 Requests)

    input 函数 #!/usr/bin/env python3 name = input("\n\n按下 enter 键后退出.") print(name) print() 在 p ...

  10. python学习&colon; 优秀Python学习资源收集汇总--转

    Python是一种面向对象.直译式计算机程序设计语言.它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用縮进来定义语句块.与Scheme.Ruby.Perl ...

随机推荐

  1. 好脑袋不如烂笔头-Quartz使用总结

    Quartz是Java平台的一个开源的作业调度框架.Quartz.net是从java版本移植到.net版本的..net项目使用Quartz来执行批处理等定时任务非常方便. (1)从nuget上可以安装 ...

  2. IOS开发之进阶篇第一章 - 姿势识别器UIPanGestureRecognizer

    今天讲一下姿势识别器,UIGestureRecognizer这个是抽象类 1.拍击UITapGestureRecognizer (任意次数的拍击) 2.向里或向外捏UIPinchGestureReco ...

  3. 1076 K尾相等数

    时间限制:500MS  内存限制:65536K提交次数:251 通过次数:80 题型: 编程题   语言: C++;C Description 从键盘输入一个自然数K(99999999>K&gt ...

  4. java中字符串切割的方法总结

    StringTokenizer最快 ,基本已经不用了,除非在某些需要效率的场合.Scanner最慢. String和Pattern速度差不多.Pattern稍快些. String和Pattern的sp ...

  5. px em rem

    px 在Web页面初期制作中,我们都是使用“px”来设置我们的文本,因为他比较稳定和精确.但是这种方法存在一个问题,当用户在浏览器中浏览我们制作的Web页面时,他改变了浏览器的字体大小,这时会使用我们 ...

  6. nest expression &amp&semi;amp&semi; Pyparsing

    http://pyparsing.wikispaces.com/ http://bbs.csdn.net/topics/330052586 C++ boost "<([^<&gt ...

  7. 函数式编程--为什么会出现lambda表达式?

    java一直处在发张和演化的过程中,其中有2个版本从根本上改变了代码的编写方式.第一个就是JDK5之后增加的泛型,还有一个就是现在介绍的函数式编程,lambda表达式. lambda表达式是java8 ...

  8. &lowbar;&lowbar;str&lowbar;&lowbar;与&lowbar;&lowbar;repr&lowbar;&lowbar;

    在讲解之前,我们先来了解下str和repr的区别:两者都是用来将数字,列表等类型的数据转化为字符串的形式.不同之处在于str更加类似于C语言中使用printf输出的内容,而repr输出的内容会直接将变 ...

  9. SQL insert

    INSERT INTO 插入语句 INSERT INTO语句用于在表中插入新记录. 可以用两种方式编写INSERT INTO语句. 第一种方法指定列名和要插入的值: 1 2 INSERT INTO t ...

  10. Python Socket 通信

    参考: http://www.cnblogs.com/alex3714/articles/5830365.html Socket A network socket is an endpoint of ...