python基本语法

变量无需声明

Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。

在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。


len=800     #整型变量
long=width=23.87 #浮点型变量,可为多个变量赋值
name='July'  #字符串
print(len)
print(long)
print(width)
print(name)

输入(input)


input("\n\n按enter键后退出。") 

\n\n 在结果输出前会输出两个新的空行。一旦用户按下 enter 键时,程序将退出。

输出(print)

print默认输出是换行的,如果要实现不换行需要在变量末尾加上 end=""。

e.g:


m = -5
y = -2
# 换行输出
print(m)
print(y)
print(m+y)
# 不换行输出
print(m, end=" ")
print(y, end=" ")
print(m+y,end=" ")

以上例子的结果:

-5
-2
-7
-5 -2 -7
进程已结束,退出代码0

保留字

python保留字,即关键字,跟C、C++那样有保留的关键字。

我们不能把它们用作任何标识符名称。Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字。e.g:False,and,as,assert,break,class,def,del,elif,except,from,in,import等等。感兴趣可以去网上查阅。

注释

1.单行注释以#开头,e.g:


#我的第一个注释呀
print("hi")  #第二个注释哟

2.多行注释可用多个#号,或'''或"""

e.g:


#你好,这是一个注释
#不好,这是第二个注释

'''
我是第三个注释
它是第四个注释
'''

"""
我是第五个哦~
我才是老六!
七七来也——
"""
print("老八")

数字类型

python中数字有四种类型:整数(int)、布尔型(bool)、浮点数(float)和复数(complex)。

下面是一些对应的例子:

int(整数):1,2,88,10000等。 只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。

bool(布尔):True,False。(bool是int的子类,True和False可以和数字相加)

float(浮点数):2.0,3.1415,6E-3等。

complex(复数):1.3+4j,2+7j等。

数值运算

5 + 4 # 加法
结果:9
6.3 - 2 # 减法
结果:4.3
3 * 8 # 乘法
结果:24
2 / 4 # 除法,得到一个浮点数
结果:0.5
2 // 4 # 除法,得到一个整数
结果:0
17 % 3 # 取余
结果:2
2 ** 4 # 乘方
结果:16

字符串

1.Python 中单引号 ' 和双引号 " 使用完全相同。

2.使用三引号(''' 或 """)可以指定一个多行字符串。e.g:


name='Tom'
sentence="I love you"
paragtaph="""鲸落海底,
             哺万生众物"""

3.转义符:\(反斜杠)可以用来转义,但使用 r 可以让反斜杠不发生转义。 如 r"today is \n Friday" 则 \n 会显示,并不是换行。

4.字符串可以用 + 运算符连接在一起,用 * 运算符重复。

5.Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。

6.Python 中的字符串不能改变。

7.Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。

下面是一些例子:


a='0123456789'
print(a)                 # 输出字符串
print(a[0:-1])           # 输出第一个到倒数第二个的所有字符
print(a[0])              # 输出字符串第一个字符
print(a[2:5])            # 输出从第三个开始到第五个的字符
print(a[2:])             # 输出从第三个开始后的所有字符
print(a[1:5:2])          # 输出从第二个开始到第五个且每隔一个的字符(步长为2)
print(a*2)               # 输出字符串两次
print(a + '你好鸭~')     # 连接字符串
print('hello\ngirl!')    # 使用反斜杠(\)+n转义特殊字符
print(r'hello\nboy!')     #在字符串前面添加一个 r,表示原始字符串,不会发生转义。r指raw,即raw thing,会自动将反斜杠\转义

以上例子输出:

0123456789
012345678
0
234
23456789
13
01234567890123456789
0123456789你好鸭~
hello
girl!
hello\nboy!

进程已结束,退出代码0

行与缩进

python是使用缩进来表示代码块,不需要使用大括号 {} 。

同一个代码块的语句必须包含相同的缩进空格数:


if True:
    print ("happy")
else:
    print ("upset")

这样缩进数的空格数不相同,就错了:

if True:
print ("you are beautiful")
print ("you are handsome")
else:
print ("terrible")
print ("sad") # 缩进空格数不一,运行错误

多行语句

Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠 \ 来实现多行语句。e.g:


str=str_in+\
    str_out+\
    str_on

在 [], {}, 或 () 中的多行语句,不需要使用反斜杠 \。e.g:


str=['str_in','str_out','str_on',
     'str_up','str_of']

列表(list)

List(列表) 是 Python 中使用最频繁的数据类型。

它支持数字,字符串甚至可以包含列表(所谓嵌套)。

列表是写在方括号 [] 之间、用逗号分隔开的元素列表。

列表截取的语法格式:变量[头下标:尾下标]

索引值以 0 为开始值,-1 为从末尾的开始位置。

e.g:


list = [ 'abcdef', 123 , 6.73, 'tmd', 7.0 ]
slist = [985, 'nb']
list[0]='abc'           #列表中的元素是可改变的
print (list)            # 输出完整列表
print (list[0])         # 输出列表第一个元素
print (list[1:3])       # 从第二个开始输出到第三个元素
print (list[2:])        # 输出从第三个元素开始的所有元素
print (slist * 2)       # 输出两次列表
print (list + slist)    # 连接列表

以上例子结果为:

['abc', 123, 6.73, 'tmd', 7.0]
abc
[123, 6.73]
[6.73, 'tmd', 7.0]
[985, 'nb', 985, 'nb']
['abc', 123, 6.73, 'tmd', 7.0, 985, 'nb']

进程已结束,退出代码0

元组(tuple)

元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组写在小括号 () 里,元素之间用逗号隔开。

元组中的元素类型也可以不相同:


tuple = [ 'abcdef', 123 , 6.73, 'tmd', 7.0 ]
stuple = [985, 'nb']
print (tuple)             # 输出完整元组
print (tuple[0])          # 输出元组的第一个元素
print (tuple[1:3])        # 输出从第二个元素开始到第三个元素
print (tuple[2:])         # 输出从第三个元素开始的所有元素
print (stuple * 2)        # 输出两次元组
print (tuple + stuple)    # 连接元组

以上例子的结果:

['abcdef', 123, 6.73, 'tmd', 7.0]
abcdef
[123, 6.73]
[6.73, 'tmd', 7.0]
[985, 'nb', 985, 'nb']
['abcdef', 123, 6.73, 'tmd', 7.0, 985, 'nb']

进程已结束,退出代码0

虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表。

构造包含 0 个或 1 个元素的元组比较特殊,所以有一些额外的语法规则:


tup1 = ()    # 空元组
tup2 = (20,) # 一个元素,需要在元素后添加逗号

集合(set)

集合(set)是由一个或数个形态各异的大小整体组成的,构成集合的事物或对象称作元素或是成员。

基本功能是进行成员关系测试和删除重复元素。

可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。e.g:


relax = {'me', 'he', 'her','you'}
print(relax)   # 输出集合,重复的元素被自动去掉
# 成员测试
if 'me' in relax :
    print('在集合中')
else :
    print('不在集合中')

# set可以进行集合运算
a = set('abracasadabra')
b = set('alacwqazam')
print(a)
print(a - b)     # a 和 b 的差集
print(a | b)     # a 和 b 的并集
print(a & b)     # a 和 b 的交集
print(a ^ b)     # a 和 b 中不同时存在的元素

以上例子的结果:

{'he', 'her', 'me', 'you'}
在集合中
{'r', 's', 'a', 'd', 'c', 'b'}
{'b', 'd', 'r', 's'}
{'l', 'r', 'w', 's', 'a', 'd', 'c', 'z', 'q', 'b', 'm'}
{'a', 'c'}
{'l', 'q', 'b', 'r', 'w', 's', 'd', 'z', 'm'}

进程已结束,退出代码0

字典(dictionary)

字典(dictionary)是Python中另一个非常有用的内置数据类型。

列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。

键(key)必须使用不可变类型。在同一个字典中,键(key)必须是唯一的。e.g:


dict={}
dict['one']="1-星座运势"
dict[2]    = "2-水瓶座是恋爱脑"
sdict={'name':'Amy','old':12,'home':'Beijing'}
print (dict['one'])       # 输出键为 'one' 的值
print (dict[2])           # 输出键为 2 的值
print (sdict)             # 输出完整的字典
print (sdict.keys())      # 输出所有键
print (sdict.values())    # 输出所有值

以上例子的结果:

1-星座运势
2-水瓶座是恋爱脑
{'name': 'Amy', 'old': 12, 'home': 'Beijing'}
dict_keys(['name', 'old', 'home'])
dict_values(['Amy', 12, 'Beijing'])

进程已结束,退出代码0

bytes 类型

在 Python3 中,bytes 类型表示的是不可变的二进制序列(byte sequence)。

与字符串类型不同的是,bytes 类型中的元素是整数值(0 到 255 之间的整数),而不是 Unicode 字符。

bytes 类型通常用于处理二进制数据,比如图像文件、音频文件、视频文件等等。在网络编程中,也经常使用 bytes 类型来传输二进制数据。

创建 bytes 对象的方式有多种,最常见的方式是使用 b 前缀:

此外,也可以使用 bytes() 函数将其他类型的对象转换为 bytes 类型。bytes() 函数的第一个参数是要转换的对象,第二个参数是编码方式,如果省略第二个参数,则默认使用 UTF-8 编码:

x = bytes("hello", encoding="utf-8")

与字符串类型类似,bytes 类型也支持许多操作和方法,如切片、拼接、查找、替换等等。同时,由于 bytes 类型是不可变的,因此在进行修改操作时需要创建一个新的 bytes 对象。e.g:


x = b"hello"
y = x[1:3]  # 切片操作,得到 b"el"
z = x + b"world"  # 拼接操作,得到 b"helloworld"
bytes 类型中的元素是整数值,因此在进行比较操作时需要使用相应的整数值。e.g:
x = b"hello"
if x[0] == ord("h"):        #ord() 函数用于将字符转换为相应的整数值
    print("The first element is 'h'")

同一行显示多条语句

Python 可以在同一行中使用多条语句,语句之间使用分号 ; 分割。e.g:


import sys;x='abcd';sys.stdout.write(x+'\n')

以上输出结果为:

abcd

import 与 from...import

在 python 用 import 或者 from...import 来导入相应的模块。

将整个模块(somemodule)导入,格式为: import somemodule

从某个模块中导入某个函数,格式为: from somemodule import somefunction

从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc

将某个模块中的全部函数导入,格式为: from somemodule import *


#导入 sys 模块
import sys
print('Python import mode')
print ('命令行参数为:')
for i in sys.argv:
    print (i)
print ('\n python 路径为',sys.path)

#导入 sys 模块的 argv,path 成员
from sys import argv,path  #  导入特定的成员 
print('python from import')
print('path:',path) # 因为已经导入path成员,所以此处引用时不需要加sys.path

欢迎一起学习~

你可能感兴趣的:(开发语言,python)