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)  
posted @ 2019-10-30 11:05  lrvingli  阅读(322)  评论(0编辑  收藏  举报