Python语言基础

 1.Python语法特点

  注释:

  单行注释:#  

#注释
单行注释分为两种情况,
例:第一种
#用于计算bim数值
bim=weight/(height*height)
第二种:
bim=weight/(height*height)#用于计算bim数值

      注:1.添加注释时一定要有意义,即注释能充分解释代码块的功能及用途

        2.注释可以出现在代码的任意位置,但不能分隔关键字和标识符

          3.注释除了可以解释代码的功能及用途,也可以临时注释不想执行的代码,也可以在后期通过选择注释和取消注释来操作要执行的步骤

  多行注释::'''aaa'''或 """aaa"""

多行注释通常用来为Python文件、模板、类、或者函数等添加版权、功能等信息

注:在Python中,三引号("""aaa""")或('''aaa''')是字符串的定界符。如果三引号作为语句的一部分出现时,就不是注释,而是字符串,这一点要区分。

  

例:注释
'''
@功能:求100以内的和
无返回值
'''
例:字符串
print('''100以内奇数和为''')

  中文编码声明注释:#-*- coding:编码(utf-8)-*-或者#coding=编码(utf-8)

该注释主要是为了解决python2.X中不支持直接写中文的问题,虽然Python3.X中该问题已经不存在了,但是为了规范页面编码同时方便其他程序员及时了解文件所用编码建议在文件开头添加。

如果编码采用UTF-8编码,编码信息设置成utf-8,如果是采用GBK编码,则设置为gbk或cp936

#-*- coding:utf-8-*-

#coding=utf-8
以上两种方式均可,-*-没有任何特殊作用,主要为了美观

  代码缩进:  

  Python不像其他语言采用的是{}分隔代码块,Python采用代码缩进和“:”区分代码层次。

方法:缩进可以使用四个空格或者一个<Tab>键来实现。通常情况下建议使用四个空格键,如果使用Tab建议先设置好Tab键的缩进量。

  注意:1.在Python中,对于类定义、函数定义、流程控制语句、异常处理语句等,行尾的冒号和下一行的缩进表示一个代码块的开始,而缩进结束,则表示一个代码块的结束。

     2.Python对代码缩进要求异常严格,同级别代码块的缩进量必须相同,如果采用不合理的代码缩进,将会抛出SyntaxError异常bug。

  编码规范:

编写规则:采用PEP8作为编码规范

  1.每个import语句只能导入一个模块,尽量避免一次导入多个模块

正确导入:
import os
import re 不推荐导入:
import os,re

  2.不要在尾行添加 ' ; ',也不要用分号将两条命令放到同一行。

  3.建议每行不超过80个字符,如果超过建议使用“( )”将多行内容隐式的链接起来,而非使用反斜杠 “ \”进行连接。

a=('噫吁嚱,危乎高哉!蜀道之难,难于上青天!蚕丛及鱼凫,开国何茫然!尔来四万八千岁,不与秦塞通人烟。西当太白有鸟道,'
'可以横绝峨眉巅。地崩山摧壮士死,然后天梯石栈相钩连。上有六龙回日之高标,下有冲波逆折之回川。') a='噫吁嚱,危乎高哉!蜀道之难,难于上青天!蚕丛及鱼凫,开国何茫然!尔来四万八千岁,不与秦塞通人烟。西当太白有鸟道,\
可以横绝峨眉巅。地崩山摧壮士死,然后天梯石栈相钩连。上有六龙回日之高标,下有冲波逆折之回川。' 不过有两种情况除外
#导入模块的语句过长
#注释里面的URL

  4.使用必要的空行可以增加代码的可读性。一般在顶级定义(如函数或者类的定义)之间空两行,方法定义之间空一行。另外用于分隔某些功能位置也可以空一行

  5.通常情况下,运算符两侧、函数参数之间、" ,"两侧建议使用空格进行分隔。

  6.应该避免在循环中使用 "+" 和 "+=" 运算符累加字符串。因为字符串不可变,字符串建议使用join()方法进行连接。

  7.适当使用异常处理结构,提高程序容错率。但不能过多依赖异常处理结构,适当的显示判断还是有必要的。

  

  命名规范:

  1.模块名尽量短小,并且全部使用小写字母,可以使用下划线分隔多个字母,增加可读性。

  2.包名尽量短小,并且全部使用小写字母,不推荐使用下划线。

  3.类名采用首字母大写形式。例Class

  4.模块内部的类采用下划线 " _"+Class的类名组成。

  5.函数、类的属性和方法的命名规则同模块类似,采用全部小写字母,多个字母之间使用下划线  " _"  分隔。

  6.常量命名时全部使用大写字母,也可以使用下划线。

  7.使用单下划线 "_"  开头的模块变量或者函数是受保护的,在使用from XXX import *语句从模块中导入时这些变量或者函数不能被导入

  8.使用双下划线  " __"  开头的实例变量或者方法是私有类。

 2.保留字与标识符

  保留字是Python中已经被赋予特定意义的单词,开发程序时不能使用这些保留字作为变量、函数、类、模块和其他对象名称使用。

and as assert break class continue
def del elif else except finally
for from False global if import
in is lambda nonlocal not None
or pass raise return try Ture
while with yield      

   注:1.Python中所有的保留字是区分大小写的。例如if

       2.如果使用了保留字,系统会报错,“ invalid syntax”(无效语法)

       3.Python中可以引入keyword模块查看保留字

import keyword
keyword.kwlist

  标识符:简单理解为名字。

标识符命名规则如下:

    1.由字母,数字、下划线组成。但第一个字符不能是数字。

    2.不能使用保留字。

    3.区分大小写。两个相同单词,但字母大小写不同,所代表的就不同,是完全两个独立的个体。

    4. Python中以下划线开头的标识符有特殊意义,一般要避免使用相类似的标识符。

  3.变量

  在Python中变量可以理解成标签。直接赋值即可创建各种类型的变量,但是变量的命名并不是任意的,遵循以下几条:

    1.变量名必须是一个有效的标识符。

    2.变量不能使用Python中的保留字。

    3.慎用小写字母I和大写字母O。

    应选择有意义的单词作为变量名。

语法格式为:
变量名 = value
count = 1024

    注:1.在Python中,允许多个变量指向同一个值!

      2.常量就是在程序运行过程中,值不能改变的量,但是在实际项目中首次赋值之后,还是可以被其他代码修改。

  4.基本数据类型 

  1.数字类型:整数(int)、浮点数(float)、复数(略)

    整数:用来表示整数数值,及没有小数部分的数值,包括 正整数、负整数,0,其类型包括:十进制、八进制、 十六进制、二进制

    十进制整数:其表现形式比较常见,例如:999、1、 0、-3等

    八进制整数:其形式是由0~7组成,进位规则“逢八进一”,且是由0o/0O开头的数

    十六进制整数:由0~9,A~F组成,进制规则“逢十六进一”,并且由0x/0X开头的数

    二进制整数:是由0和1组成,进位规则“逢二进一” 

注:1.在Python2.X中,如果输入的整数比较大时,Python会自动在后面加上字母L。
2.不能以0作为十进制的开头。
3.在Python3.X中,八进制数,必须以0o/0O开头,但在Python2.X中八进制数可以是0开头
4.十六进制数必须是以0x或者0X开头

   浮点数:是由整数部分和小数部分组成,主要是用于处理包含小数的数。

    注:在使用浮点数计算时,可能会出现小数位不确定的情况

  2.字符串类型:

    字符串就是连续的字符序列,可以是计算机所表示的所有一切能表示的字符集合。属性不可变,通常使用单引号“  '  ' ”、双引号“ " " ”、或者三引号“ ''' ''' ”或“ """  """  ”括起来。其形式语言没有差别,但单引号和双引号必须在同一行,三引号内的字符序列可以分布在连续多行上。

name = '小明 '
name ="小明"
name_work =''' 噫吁嚱,危乎高哉!蜀道之难,难于上青天!蚕丛及鱼凫,开国何茫然!尔来四万八千岁,不与秦塞通人烟。''' #注:字符串的开头和结尾使用的引号必须一致,如遇到比较复杂的字符串时,还可以嵌套使用引号。
例:'python 字符串通常使用单引号“  '  ' ”

  字符串的转义字符:转义字符就是指用反斜杠“\”对一些特殊字符进行转义,

  \  -------续行符   \n-------换行符   \0 -----空   \t -----水平制表符,用于横向跳到下一制表位    \''  -----双引号   \' -----单引号   \\-----一个反斜杠   \f-----换页   \0dd-----八进制数,dd代表字符,如\012代表换行   \0xhh-----十六进制数。hh代表字符,如\x0a代表换行

  

注:如果在字符串界定符引前加上字母r或者R,那么该字符串将原样输出,其中转义字符将不转义。
print('得之我命')
得之我命
print(r"得之我命")
"得之我命"

  3.布尔类型

  布尔类型主要用来表示真,假。在Python中,标识符为Ture和False的值,其数值可以转化成Ture表示1、False表示0.

  Python中布尔值可以进行数值运算,例如False+1 结果=1,但不建议这样运算。

  注:Python中布尔值为假的情况, False、 None;

     数值中的0(包括0、0.0、虚数0);

    空序列:空字符串" "、空元组( )、空格列表[ ]、空字典{ };

    自定义对象实例,该对象的__bool__方法返回为False或者__len__方法返回为0.

  4.数据类型转换

  虽然Python是一个动态类型的语言(弱类型语言),不需要提前声明变量,但有时仍然需要类型转换。

  常用类型转换函数及其作用:

    int(x)-----将x转化成整数类型     float(x) -----将x转化成浮点类型     complex(real [,imag])-----创建一个复数     str(x)-----将x转化成字符串     repr(x)-----将x转化成表达式字符串

    eval(str)-----计算在字符串中有效的Python表达式,并返回一个对象>>>x = 7 >>> eval( '3 * x' ) 21       chr(x)-----将整数转化为一个字符     ord(x)-----将一个字符转化成它对应的整数值

    hex(x)-----将整数x转化为一个十六进制字符串     oct(x)-----将一个整数x转化为一个八进制字符串

  5.运算符

  1.算术运算符

    算术运算符是处理四则运算的符号:

    1.+ ---- 加

    2.-  ----减

    3.* ----乘

    4./ ----除

    5.% ----求余 ,即返回除法的余数,7%2  得1

    6.//----取整除,即返回商的整数部分

    7.**----幂,机返回X的y次幂

    注:1.在算术运算符中使用%求余,如果除数(第二个操作数)是负数,则取得的结果也一样是个负值。

      2.使用除法(/或//)运算符和求余运算符时,除数不能为0,否则将会出现异常

  2.赋值运算符

    主要用来为变量等赋值,使用时,可以直接把基本赋值运算符“=”右边的值赋值给到左边的变量,也可以进行某些运算之后再赋值给左边变量。

    运算符:    运算符

        1.    =        ----简单的赋值运算  :     x=y  --->       x=y

        2.    +=     ----加赋值:       x+=y  --->      x= x+y

        3.    -=      ----减赋值:      x-=y  --->      x= x-y

        4.    *=      ----乘赋值:      x*=y  --->      x= x*y

        5.    /=      ----除赋值:      x/=y  --->      x= x/y

        6.   %=     ----取余赋值:     x%=y  --->      x= x%y

        7.   **=     ----幂赋值:      x**=y  --->      x= x**y

        8.   //=     ----取整除赋值:    x//=y  --->      x= x//y

    注:=和==容易混淆,且是编程中最常见的错误之一

  3.比较(关系)运算符

    比较运算符,也称为关系运算符,用于对变量或者表达式的结果进行大小、真假等比较,如果为真返回True,如果为假,返回False。通常在条件语句中进行判断比较。

    运算符:1.  >   ----大于  'a'>'b' ---->False

        2.  <   ----小于  14>16 ---->True

        3.  ==   ----等于  'a'=='a' ---->True

        4.  !=   ----不等于  'a'!='c' ---->True

        5.  >=   ----大于等于  '57'>='33' ---->True

        6.  <=   ----小于等于  '57'>='33' ---->False

    注:Python中,如果需要判断一个变量是否介于两个值之间时,可以采用"值1<变量<值2"的形式。

  4.逻辑运算符

  逻辑运算就是对真和假两种布尔值进行运算,运算后的值任然是一个布尔值。运算符包括,and(逻辑与)、or(逻辑或)、not(逻辑非)

    运算方向:

      1.  and      c  and  b    从左往右

      2.  or         c  or  b      从左往右

      3.  not        not  b      从右往左

    使用逻辑运算符进行逻辑运算结果:

    表达式1       表达式2             表达式1 and 表达式2        表达式1 or表达式2        not表达式1

      True           True        True          True       False

      True    False        False             True                False     

      False   False          False            False        True

      False   True           False            True       True

    

注:X or Y ,   如果X为0,则返回Y,反之则返回X,
X and Y 如果X为0,则返回X,反之则返回Y。

  5.位运算符

  位运算符是把数字当作二进制数来进行计算,因此,需要先将要执行的运算转化成二进制,然后才能执行运算。位运算符有:位与&、位或 | 、位异或 ^、取反~、左移位<< 、右移位>>。

  1.位与运算 :&

   运算法则:两个操作数据的二进制表示,只有对应数位都是1时,结果数位才是1,否则为0.如果两个操作数的精度不同,则结果的精度与精度高的操作数相同。

    0000  0000  0000  1100

   &0000  0000  0000  1000

    -----------------------------

       0000  0000  0000  1000

  2.位或运算 :|

  运算法则:两个操作数据的二进制表示,只有对应数位都是0时,结果数位才是0,否则为1 ,如果两个操作数的精度不同,则结果的精度与精度高的操作数相同。

    0000  0000  0000  0100

   |  0000  0000  0000  1000

    -----------------------------

        0000  0000  0000  1100

  3.位异或运算:^

运算法则:当两个操作数据的二进制表示相同(同时为1或者同时为0)时,结果数位为0,否则为1 ,如果两个操作数的精度不同,则结果的精度与精度高的操作数相同。

    0000  0000  0001  1111

   ^ 0000  0000  0001  0110

    -----------------------------

        0000  0000  0000  1001

  4.位取反运算:~

     运算法则:就是讲操作数中对应的二进制数1改为0,0修改为1,

   ~ 0000  0000  0000  0110

    -----------------------------

        1111  1111  1111  1001

  5.左移位运算符 <<

  运算法则:是将一个二进制操作数向左移动指定的位数,左边(高位段)溢出的位被丢弃,右边(低位段)的空位用0补充,左移位运算相当于乘以2的N次幂

  例:int类型数据48对应的二进制数为:00110000,将其左移一位,可以得出(00110000<<1)= 01100000,转化为十进制为96(48*2)即2的1次幂

  6.右移位运算符 >>

  运算法则:是将一个二进制操作数向右移动指定的位数,右边(低位段)溢出的位被丢弃,如果左边(高位段)是0(正数),右边的空位用0补充;如果左移(高位段)是1(负数),左侧空位填入1 。位运算相当于除以2的N次幂

  6运算符的优先级

  优先级越高先执行,优先级低的运算后执行,同一优先级的操作按照从左到右的顺序进行的。

  运算符级别:

  1.  **  --->幂

  2.  ~、+、-    --->取反、正号、负号

  3.  *、/、%、//  --->算术运算符

  4.  +、-   --->算术运算  (加、减)

  5.  <<、>>  --->位运算中的左移、右移

  6.  &  --->位运算中的位与

  7.  ^  --->位运算中的取反

  8.  |  --->位运算中的异或

  9.  <、<=、>、>=、!=、==  --->比较运算

  注:在编写程序时尽量使用括号“( )”来限定运算次序,避免运算次序发生错误。

  6.基本输入与输出

  1.使用input()函数输入

  在Python中使用input()内置函数,接收用户键盘输入

  

value = input("请输入您要输入的内容")

  2.使用print()函数输出

  在Python中,使用内置函数print()可以将需要输出的结果输出到显示台上

a = 4                                                  #变量a, 值为4
b = 6 #变量b, 值为6
print(6) #输出数字6
print(a*b) #输出变量a*b的结果24
print(a if a>b else b) #输出条件表达式的结果6
print("Python是世界上最好的编程语言") #输出字符串"Python是世界上最好的编程语言"

    注意:1.输出内容可以为数字和字符串(字符串需要使用引号引起来)

          2.在Python中,默认情况下,一条print()语句输出后会自动换行,如果想要一次输出多个内容,而且不换行,可以将要输出的内容使用英文半角的逗号分隔。print(a,b)

Python2.X与Python3.X的区别:

1.在Python3.X中,八进制数,必须以0o/0O开头,但在Python2.X中八进制数可以是0开头
2.中文编码声明注释:#-*- coding:编码(utf-8)-*-或者#coding=编码(utf-8)该注释主要是为了解决python2.X中不支持直接写中文的问题,虽然Python3.X中该问题已经不存在了,但是为了规范页面编码同时方便其他程序员及时了解文件所用编码建议在文件开头添加。

3.在Python2.X中,除法运算符(/)的执行结果与Python3.X的不一样,如果操作数为整数,则结果将截取整数。而在Python3.X中,计算结果为浮点数。例如:7/2,在Python2.X中结果为3,在Python3.X中结果为3.5.
4.在Python2.X中,想让print语句输出的内容在一行上显示,可以在后面加上逗号。但Python3.X中使用print()函数是不能直接加上逗号,需要加上"end = '分隔符'",并且该分隔符为一个空格,如果连接输出不需要分隔符隔开,也可以不加分隔符。

Python语言基础-语法特点、保留字与标识符、变量、基本数据类型、运算符、基本输入输出、Python2.X与Python3.X区别的更多相关文章

  1. Python语言基础与应用 (P16)上机练习:基本数据类型

    本文是笔者在学习MOOC课程<Python语言基础与应用> (北京大学-陈斌)中根据上机课时的要求写下在代码 课程总链接: 中国大学MOOC B站 本节课链接 数值基本运算: 33和7+, ...

  2. python语言基础语法笔记<note2--面向对象编程>

    Python面向对象编程(OOP) 一.面向对象过程的优点特征: 封装 模型的特征和能力打包在一起 模型的改变由模型自身完成 隐藏模型的细节,外界只能使用,不能改变 继承 符合自然界分类规律 快速实现 ...

  3. 学习Python语言 基础语法:变量的基本使用

    Python变量 程序是用来处理数据的,变量就是用来保存数据的,通过给数据定义一个名称来保证方便记忆和识别.使用这个数据.变量可以保存所有类型的数据. Python变量的定义 在Python中,变量的 ...

  4. python语言基础语法笔记<note1库安装和工具安装>

    Python是一门入门简单的编程语言,它的安装和搭建也非常简单.在大部分的发行Linux版本上都预装了python2,部分也预装了python3,需要查看Linux上是否安装Python,只需要在 命 ...

  5. 零基础学Python--------第2章 Python语言基础

    第2章  Python语言基础 2.1 Python语法特点 2.11注释 在Python中,通常包括3种类型的注释,分别是单行注释.多行注释和中文编码声明注释. 1.单行注释 在Python中,使用 ...

  6. Python 语言基础

    Python 语言基础 Python 开发环境 计算机组成 编程语言(计算机语言)是人们为了控制计算机,而设计的一种符号和文字的组合,从而实现向计算机发出指令. 形式是符号和文字的组合 目的是为了控制 ...

  7. ArcPy开发教程1-面向ArcGIS的Python语言基础

    ArcPy开发教程1-面向ArcGIS的Python语言基础 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 第一节课 时间2019年2月26日 上午第一节 讲解:A ...

  8. 2.3 Python语言基础

    2.3 Python语言基础 1 语言语义(Language Semantics) 缩进,而不是括号 Python使用空格(tabs or spaces)来组织代码结构,而不是像R,C++,Java那 ...

  9. C语言基础语法

    #include <stdio.h> int main() { int age; printf("input your age"); scanf("%d&qu ...

随机推荐

  1. jsp获取当前日期

    <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>  <jsp: ...

  2. 【1-n】区间覆盖 TOJ4168+BZOJ1192

    Xiao Ming is very interesting for array. He given a sorted positive integer array and an integer n. ...

  3. iOS开发Runtime 方法替换

    通过#import <objc/runtime.h>我们可以找到: /** * Returns a specified instance method for a given class. ...

  4. 计算机启动 Ubuntu系统初始化 SysV Systemd

    计算机启动过程 第一阶段:BIOS boot (bootstrap的缩写)来自一句谚语:"pull oneself up by one's bootstraps" 最早的时候,计算 ...

  5. 剑指Offer之裴波那契数列

    题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1). n<=39 解法1:递归解法 public int Fibonacc ...

  6. 01.Django-基础

    基础 1. 简介 Django是一个由Python写成的开放源代码的重量级Web应用框架. Django的目的是使常见的Web开发任务,快速和容易 2. 特点 MVC开发模式 内置进行快速web开发所 ...

  7. [翔哥高手无敌之路]0-002.如何提取apk中的信息?

    面对一款apk软件,我们如何去获取它的信息,如何获取它的版本号,包名,或者ID,用户权限,这些信息都隐藏在apk包中的AndroidManifest.xml文件中,解开它我们就能获取任何想要的信息.但 ...

  8. [Wireshark]_003_电子邮件抓包分析

    电子邮件是我们的生活工作中经常使用的一种服务,用来联系世界各地的朋友,客户.下面我们就用Wireshark对电子邮件进行抓包. 准备工作: 邮件客户端一款(Outlook,Foxmail,KooMai ...

  9. 跟着阿里学JavaDay01——Java编程环境搭建

    一.下载并完成JDK的安装 我们要学习Java就需要下载JDK.因为JDK是Java的开发工具. JDK的获取可以通过官方网站下载:JDK下载地址(这里我们下载Java SE10的版本) JDK下载完 ...

  10. 一个基类Person的多个派生类 代码参考

    #include <iostream> #include <cstring> using namespace std; class Person { protected: ch ...