Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。
len=800 #整型变量
long=width=23.87 #浮点型变量,可为多个变量赋值
name='July' #字符串
print(len)
print(long)
print(width)
print(name)
input("\n\n按enter键后退出。")
\n\n 在结果输出前会输出两个新的空行。一旦用户按下 enter 键时,程序将退出。
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(列表) 是 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 = [ '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() 而不是 { },因为 { } 是用来创建一个空字典。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)是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
在 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
在 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
欢迎一起学习~