Python3基础语法
#python命令行参数
python -h
-d 在解析式调试信息
-O 生成优化代码(.pyo文件)
-S 启动时不引入查找python路径的位置
-V 查看python版本号
-c 执行python脚本,并将运行结果作为cmd字符串
file 再给定的python文件执行python脚本
#集成开发环境: PyCharm
PyCharm官网下载地址: http://www.jetbrains.com/pycharm/download/
#PyCharm安装Python模块的方法(mac版)
搜索--输入"preferences"--选择'preferences for new projects'--'project interpreter'--点击左下角的"+"号--搜索你想安装的模块--点击'install package'--安装完成
#============Python脚本的编写格式============
#!/usr/bin/python3 # -*- coding:UTF-8 -*- #file_name: hello.py
#第一行注释是告诉Linux/OSX系统,这是一个Python可执行程序,根据/usr/bin/路径去找python的运行程序来运行,Windows系统会忽略这个注释
#第二行注释是告诉Python解释器,按照UTF-8编码读取源代码,如果你的代码中有输入中文,不使用UTF-8会造成乱码
#当然也可以使用其他的编码方式,根据具体情况而定.
#============Python的注释方法============
#在一行的行首添加"#"符号,可以将当前行注释
#例如:
#print("Hello,Python") #print("hello,world")
#三个单引号也是注释
''' 三个单引号是注释 '''
#三个双引号也是注释
""" 三个双引号也是注释 """
#============Python的行与缩进============
#python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {}
#缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数
#正确的缩进格式
if True: print ("Answer") print ("True") else: print ("Answer") print ("False")
#错误的缩进格式
if True: print ("Answer") print ("True") else: print ("Answer") print ("False") # 缩进不一致,会导致运行错误
#============Python的多行语句============
#python通常是一行写完一条语句,但如果语句很长,可以使用反斜杠\来实现多行语句
a = 2+3+ \ 4+6+3+ \ 5+4 print(a)
#在 [], {}, 或 () 中的多行语句,不需要使用反斜杠(\)
total = ['item_one', 'item_two', 'item_three', 'item_four', 'item_five'] print(total)
#============Python的数字类型============
#python的数字类型有四种: int(整数),bool(布尔),float(浮点数),complex(复数)
int (整数), 如1,只有一种整数类型int表示为长整型没有python2中的Long bool (布尔), 如True float (浮点数), 如1.23、3E-2 complex (复数), 如1 + 2j、 1.1 + 2.2j
注意:在Python2中是没有布尔型的,它用数字"0"表示 "False",用 "1" 表示 "True".
到Python3中,把"True"和"False"定义成关键字了,但它们的值还是"1"和"0",它们可以和数字相加
#============Python的字符串============
#python的字符串(String)
python中单引号和双引号使用完全相同
使用三引号('''或""")可以指定一个多行字符串
转义符 '\'
反斜杠可以用来转义,使用"r"可以让反斜杠不发生转义如r"this is a line with \n"则\n会显示,并不是换行.这里的"r"指"raw"即"raw string"(原始字符串)
按字面意义级联字符串,如"this" "is " "string"会被自动转换为this is string
字符串可以用"+"运算符连接在一起,用"*"运算符重复.
Python中的字符串有两种索引方式,从左往右以"0"开始,从右往左以"-1"开始
Python中的字符串不能改变
Python没有单独的字符类型,一个字符就是长度为1的字符串
字符串的截取的语法格式如下:变量[头下标:尾下标:步长]
a = 'This is test one' b = "This is test two" c = '''This is paragraph(段落), This is multiline string(多行字符串)''' print(a) print(b) print(c)
输出结果:
This is test one This is test two This is paragraph(段落) This is multiline string(多行字符串)
字符串测试:
name = 'lebronjames' print(name) #读取所有字符 print(name[0:-1]) #读取第一个到倒数第2个的所有字符 print(name[0]) #读取第1个字符 print(name[2:6]) #读取第3个到第6个的所有字符 print(name[2:]) #读取第3个开始后的所有字符 print(name*2) #输出字符串2次 print(name + '23') #连接字符串
输出的结果如下:
lebronjames lebronjame l bron bronjames lebronjameslebronjames lebronjames23
#反斜杠
print('lebron\njames') #使用反斜杠"\"+"n"转义特殊字符 print(r'lebron\njames') #在字符串前面添加一个r,表示原始字符串,不会发生转义
输出结果:
lebron james lebron\njames
#============Python的变量============
Python中的变量不需要声明,每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建
在Python中,变量就是变量,是没有类型的."类型"是变量所指的内存中对象的类型(变量所取的值是有类型的)
例如: a = 1 "1"就是对象,"类型"就是指数字"1"的类型,而不是"a"
等号"="用来给变量赋值,如下,给变量赋值:
counter = 100 #赋值整型变量 miles = 10000.0 #浮点型 name = "james" #字符串 print(counter) print(miles) print(name)
输出结果:
100 10000.0 james
python允许同时为多个变量赋值,如下:
a = b = c = 1 创建一个整型对象,值为"1",从后向前赋值,三个变量被赋予相同的数值
也可以为多个对象指定多个变量,例如:
a, b, c = 1, 2, "runoob" 两个整型对象"1"和"2"的分配给变量"a"和"b",字符串对象"runoob"分配给变量 c
#============Python的空行============
函数之间或类的方法之间用空行分隔,表示一段新的代码的开始,类和函数入口之间也用一行空行分隔,以突出函数入口的开始
空行与代码缩进不同,空行并不是Python语法的一部分,书写时不插入空行,Python解释器运行也不会出错,但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构
重要: 空行也是程序代码的一部分
#============Python等待用户输入============
#!/usr/bin/python3 input('\n\n请输入指令 [y/n] ') 注: "\n\n"在结果输出的结果前会输出两个新的空行,用户输入"y"或者"n"将退出程序
#============Python同一行显示多条语句============
Python可以在同一行中使用多条语句,语句之间使用分号(;)分割
#!/usr/bin/python3 import sys; x = 'lebronjames'; sys.stdout.write(x + '\n')
使用脚本执行以上代码,输出结果:
lebronjames
使用交互式命令行执行,输出结果:
lebronjames 12
#============Python多个语句构成代码组============
缩进相同的一组语句构成一个代码块,叫做代码组
像if、while、def和class这样的复合语句,首行以关键字开始,以冒号":"结束,该行之后的一行或多行代码构成代码组
将首行及后面的代码组称为一个子句(clause)
if expression: suite elif expression: suite else: suite
#============Python Print 输出============
print默认输出是换行的,如果要实现不换行需要在变量末尾加上 end=""
x = 'a' y = 'b'
#换行输出
print(x) print(y)
#不换行输出
print(x,end="") print(y,end="")
输出结果:
a b ab
#============Python导入模块============
'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 ('命令行参数为:') for i in sys.argv: print (i) print ('\n python path',sys.path)