文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python基础学习入门

2023-06-02 12:05

关注

Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。在命令行窗口输入"python" 命令来查看本地是否已经安装Python以及Python的安装版本

Python下载

Python官网:http://www.python.org/

Python文档下载地址:www.python.org/doc/

Python  缩进与空行

Python中不使用大括号,而是使用缩进来组织代码块,缩进的空格数没有严格要求,但是同一个代码块语句必须有相同的缩进,这个必须严格执行,缩进相同的语句被认为是处于同一个代码块中。

函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。

空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。

在Python中,一般来说一条语句占用一行,语句结束一般不需要使用分号“;”,若要将多条语句写在一行,则需用“;”将语句分开。

当一行语句很长时,可以用 “\” 符号折行显示代码。如下所示:

total = num1 + \

num2 +\

num3

另外,语句中包含[], {} 或 () 括号就不需要使用多行连接符。如下实例:

 days = ['Monday','Tuesday', 'Wednesday',

        'Thursday','Friday']

Python 中文编码

代码中如果包含中文,且在Python 文件中未指定编码,就有可能会碰到中文编码问题,在执行过程会出现报错:

 File "C:\Users\wyb\workspace\PythonExercise\src\exercise1.py", line 2

SyntaxError: Non-UTF-8 code starting with '\xc5' in file C:\Users\wyb\workspace\PythonExercise\src\exercise1.py on line 2, but no encoding declared; see 

http://python.org/dev/peps/pep-0263/ for details

解决方法为只要在文件开头加入  #-*- coding: UTF-8 -*- 或者# coding=utf-8 就行了。

Python  注释

注释 以”#”号开头的内容为单行注释,python解释器会忽略该行的内容。

多行注释 用一对三个引号('''…''')进行注释。

Python  标识符

  python命名规则与Java基本一样,标识符由字母、数字、下划线组成,但不能以数字开头,区分大小写。

  python中以下划线开头的标识符是有特殊意义的。以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用‘from xxx import *’而导入;以双下划线开头的(__foo)代表类的私有成员;以双下划线开头和结尾的(__foo__)代表python里特殊方法专用的标识,如__init__()代表类的构造函数。因为下划线对解释器有特殊的意义,而且是内建标识符所使用的符号,所以一般避免用下划线作为变量名的开始。

Python  保留字

and

exec

not

assert

finally

or

break

for

pass

class

from

print

continue

global

raise

def

if

return

del

import

try

elif

in

while

else

is

with

except

lambda

yield

Python  数据类型

Python 程序中 “一切数据是对象,一切命名是引用”,包括自定义对象和基本数据类型。 Python在使用变量之前无须定义它的类型,但是必须声明以及初始化该变量。

数值类型(Numbers)

Python拥有四种数值类型:整型(int),长整型(long),浮点类型(float)以及复数类型(complex)。  

num1 = 20  #int型

num2 = 11213L  #long型

num3 = 15.20  #float型

num4 =  70.2-E12  #float型

num5 = 3.14j  #complex型

复数由实数部分和虚数部分构成,Python可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型

字符串类型(String)

Python拥有两种字符串类型:标准字符串(str)是单字节字符序列,Unicode字符串(unicode)是双字节字符序列。在Python中定义一个标准字符串(str)可以使用单引号、双引号甚至三引号(多行)。在Python中定义一个Unicode字符串,需要在引号前面加上一个字符u。另外,Python没有字符(char)类型,再短的文本也是字符串。

str1 = 'Hello"\n'

str2 = "Hello'\r"

str3 = """

Hello,

I love Python

      """

str4 = u'你好,Python'

python的字串列表有2种取值顺序:

从左到右索引默认0开始的,最大范围是字符串长度少1

从右到左索引默认-1开始的,最大范围是字符串开头

可以用到变量[头下标:尾下标],来截取相应的字符串,其中下标是从0开始算起,可以是正数或负数,下标可以为空表示取到头或尾。比如:

s = 'I love study' 

s[2:6]的结果是love。(包括下边界,不包括上边界)

加号’+‘是字符串的连接运算符,星号’*‘表示重复操作

str1 = 'I Love "Python"'

print (str1 * 3)

print (str1[2:6])

print (str1 + "aaa")

输出:

I Love "Python"I Love "Python"I Love "Python"

Love

I Love "Python"aaa

列表(List)

列表用[ ]标识,支持数字,字符串甚至可以包含列表,是python最通用的复合数据类型。

list = [ 'aa', 'bb', 11 ]

列表中也可用变量[头下标:尾下标]来截取相应的列表,从左到右索引默认0开始的,从右到左索引默认-1开始,下标可以为空表示取到头或尾。

加号’+‘是列表连接运算符,星号’*‘是重复操作。

print ( list[1:2] ) #输出第二个元素

print ( list[1] )  #输出第二个元素

print ( list[1: ] ) #输出第二个开始至末尾的元素

print ( list *2 )  #输出列表两次

print ( list 1+ list2 ) #输出组合的列表

元祖(Tuple)

元组是另一个数据类型,类似于List(列表)。元组用"()"标识。内部元素用逗号隔开。但是元素不能二次赋值,相当于只读列表。

list = [ 'aa', 10, 'python' ]

tuple = [ 'aa', 10, 'python' ]

list[1] = 20 #合法,list中元素允许更新

tuple[1] = 20  #不合法,tuple中元素不允许更新

字典(Dictionary)

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

字典用"{ }"标识,由索引(key)和它对应的值(value)组成。

dict = { 'num1':0123,'num2': 2345,'num3': 4567 }

print (dict['num1'])

print (dict)

print (dict.values())

print (dict.keys())

输出结果为:

0123

{'num3': 4567, 'num2': 2345, 'num1': 0123}

dict_values([4567, 2345, 0123])

dict_keys(['num3', 'num2', 'num1'])

Python  运算符

算术运算符:+、-、*、/、%、**(幂)、//(整除)    

      2 ** 4  为2的4次方,16      

      9 // 2得整除值4      9.0 // 2.0 得4.0

比较运算符:==、!=、<>(同!=)、>、<、<=、>=

赋值运算符:=、+=、-=、*=、/=、%=、**=、//=

Python允许同时为多个变量赋值,如:a = b = c = 0     此实例创建了一个整型对象,值为0,三个变量指向相同的内存空间

                                                                   a, b, c = 0,1, 2   此实例创建了3个整型对象

位运算符:    &按位与运算符

|按位或运算符

^按位异或运算符

~按位取反运算符

<<左移动运算符

>>右移动运算符

逻辑运算符:and布尔"与" - 如果x为False,x and y返回False,否则它返回y的计算值。

or布尔"或" - 如果x是True,它返回True,否则它返回y的计算值。      

not布尔"非" - 如果x为True,返回False。如果x为False,它返回True。

成员运算符:in        如果在指定的序列中找到值返回True,否则返回False。

not in如果在指定的序列中没有找到值返回True,否则返回False。

身份运算符:is是判断两个标识符是不是引用自一个对象x is y, 如果 id(x) 等于 id(y) , is 返回结果 1

is not是判断两个标识符是不是引用自不同对象x is not y, 如果 id(x) 不等于 id(y). is not 返回结果 1 

Python  运算符优先级

以下表格中运算符优先级由高到低:

运算符描述

**指数 (最高优先级)

~ + -按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)

* / % //乘,除,取模和取整除

+ -加法减法

>> <<右移,左移运算符

&位 'AND'

^ |位运算符

<= < > >=比较运算符

<> == !=等于运算符

= %= /= //= -= += *= **=赋值运算符

is is not身份运算符

in not in成员运算符

not or and逻辑运算符

Python  条件语句

if语句 :     

if 判断条件1:

    执行语句……

elif 判断条件2:

    执行语句.......

else:

    执行语句……

注意:

Python程序语言指定任何非0和非空(null)值为true,0 或者 null为false。

执行语句可以多行,以缩进来区分表示同一范围

if 语句的判断条件可以用>(大于)、<(小于)、==(等于)、>=(大于等于)、<=(小于等于)来表示其关系。

由于 python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现,如果判断需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功。

Python  循环语句

循环语句允许我们执行一个语句或语句组多次,Python提供了for循环和while循环(在Python中没有do..while循环)。

while语句即在某个条件下,循环执行某段程序,以处理需要重复处理的相同任务,形式为:

while  判断条件:

执行语句......

判断条件可以是任意表达式,任何非零非空的值均为true。当判断条件为false时,循环结束。

控制语句 描述:

break 语句 在语句块执行过程中终止循环,并且跳出整个循环

continue 语句 在语句块执行过程中终止当前循环,跳出该次循环,即不再执行当前循环的 剩余语句,执行下一次循环。

pass语句是空语句,是为了保持程序结构的完整性。

实例:

i = 30

while i>0:

    if i%10!=0:

        i-=1

        continue   #i不是10的倍数,则继续下一次循环,不输出

    print (i)

    i-=1 

输出:

30

20

10

j = 10

while j>5:

    if j==7:

        break   #j等于7时跳出整个循环

    print (j)

    j-=1

输出:

10

9

8

当循环条件永远为true时,循环将无限循环下去。可以使用 CTRL+C 来中断循环。

for循环语句可以遍历任何序列的项目,如一个列表或者一个字符串,语法格式如下:

for iterating_var in sequence:

   statements(s)

实例:

 fruits = ['banana', 'apple',  'mango']

for fruit in fruits:        

   print (fruit)

输出:

 banana

 mango

 apple

 for index in range(len(fruits)):

   print  ( fruits[index])  #通过索引遍历,输出同实例1

循环中的else语句

在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。

实例:判断10到15中,每个数字是否为质数

for num in range(10,15): 

   for i in range(2,int(sqrt(num))): 

      if num%i == 0:     #能整除说明不是质数

         j=num/i          

         print ('%d equals %d * %d' % (num,i,j))    #打印出可分解的因子

         break      #跳出2层循环,开始计算下个数字  #在不是质数的情况下,不执行else部分

   else:                  # for 不是通过 break 跳出而中断的情况下执行

      print (num, 'is a prime number'  )

输出:

10 equals 2 * 5

11 is a prime number

12 equals 2 * 6

13 is a prime number

14 equals 2 * 7

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯