Python基础语法

本文介绍了如何安装Python的集成包Anaconda,Python的两种代码运行方式,以及基础语法如输入、输出、变量、数据类型、运算符、条件判断、循环和一些常用编程结构。
摘要由CSDN通过智能技术生成

一、安装python的集成包Anaconda


1.官网下载。安装了python环境再安装Anaconda环境并不冲突,直接安装即可。
2.安装时不要在C盘,并且路径名中不要出现中文和空格。在最后一个岔口的环境配置中特别注意,如果本机未安装python,可以勾选第一个选项,也可不勾选、后续手动添加;如果本机已经安装了python,就不要勾选Add ... to PATH、只选Register那个选项。
3.finish之后就接着手动添加环境变量,属性-系统-高级系统设置-环境变量-新建Anaconda环境路径-确定。

具体可搜索csdn上的详细安装教程

二、python代码运行方式


1.shell方式
在交互式解释器中,输入一行命令就解释运行出结果
2.文件执行方式
创建.py文件
 

三、基础语法

1.基本操作

  输入是通过 input( ) 函数来实现的, input( ) 的一般格 式为:
     x = input(' 提示: ')   
>>> print(3, 5, 7, sep=',') #指定分隔符 ,并且后面 无需加分号
3,5,7
>>> print(3, 5, 7, sep=':')
3:5:7
>>> for i in range(10,20):
print(i, end=' ') #不换行
10 11 12 13 14 15 16 17 18 19

     在python中不需要事先声明变量名及其类型,直接赋值即可创建。如age=20
    Python解释器会根据赋值或运算来自动推断变量类型。Python还是一种动态类型语言,变量的类型也是可以随时变化的。

     类定义、函数定义、选择结构、循环结构、with块,行尾的冒号表示缩进的开始。

     python程序是依靠代码块的缩进来体现代码之间的逻辑关系的,缩进结束就表示一个代码块结束了。同一个级别的代码块的缩进量必须相同。一般而言,以4个空格为基本缩进单位。

       以 # 开始,表示本行 #之后的内容为注释。
       包含在一对三引号 '''...''' """...""" 之间且不属于任何语句的内容将被解释器认为是注释。
     
      如果一行语句太长,可以在行尾加上续行符 \ 来换行分成多行,但是更建议 使用括号来包含多行内容。

 >>> True + 3 #Python 内部把 True 当作 1 处理
4
>>> False + 3 # False 当作 0 处理
3
每个 import 语句只导入一个模块,最好按标准库、扩展库、自定义库的顺 序依次导入。

注意:必要的空格与空行

     运算符两侧、逗号后面建议增加一个空格。

     不同功能的代码块之间、不同的函数定义之间建议增加一个空行以增加可读性

2.对象类型


数字

(int,float,comlpex),数字大小没有限制,支持复数及其运算。都在math模板调用数学运算常用的函数。

注意:Python 中的除法有两种, /” //” 分别表示除法和整除运算。
>>> 3 / 5
0.6
>>> 3 // 5
0
>>> 3.0 / 5
0.6
>>> 3.0 // 5
0.0
>>> 13 // 10
1
>>> -13 // 10
-2


字符串

(str),可以使用单引号、双引号和三引号(三个单引号或三个双引号)括起来,使用反斜杠\转义特殊字符.
       使用+运算符或使用join运算符实现字符串的连接

>>> 'A' + 1 # 不支持字符与数字相加,抛出异常
TypeError: Can't convert 'int' object to str implicitly


字节串

(bytes),以字母b引号,如b'hello world'


列表

(list),把所有元素放在一对方括号中,元素之间使用逗号分隔,其中元素可以是任意类型
    以0为开始值,以-1为末尾的开始值
    list=['abc',786,1.23,'1234']
    print(list[1:3])
    输出为[786,'1234']
    可以使用+进行链接,*表示重复


字典

(dict),所有元素放在大括号下,元素形式为“键:值”
       同一字典中,key是唯一的并且必须使用不可变类型,因此具有极快的查找速度。
        如d={'first':1,'second':2,'third':3}
          则d['first']结果为1。


元组

(tuple),所有元素放在圆括号里,注意如果只有一个元素的话后面的逗号不能省略。如t1=(1,)
      元组的元素不可改变,但可以包括可变元素list
      如t=('a','b',['A','B'])
        t[2][0]='X'
       则结果为('a','b',['X','B'])

    注意:字符串和元组属于不可变序列,不能通过下标的方式来修改其中的元素值,试图修改元组中元素的值时会抛出异常。
>>> x = (1,2,3)
>>> print(x)
(1, 2, 3)
>>> x[1] = 5

TypeError: 'tuple' object does not support item assignment

集合

(set,frozenset),放在大括号下。注意元素不能重复,重复元素自动被忽略。set不存储value关键字,且为无序。
      s=set([1,2,2,3,3,3])
      print(s)的结果是{1,2,3}


布尔型

(bool) True or False


空类型

(NoneType)、

异常

文件

(f=open('data.text','rb'))

编程单元

(函数用def定义、类用class、模块用module)

      def 函数名([参数列表]):
          函数体
没有形参也要写(),函数体必须和前面空格,默认有return,可以嵌套使用。
若实参是可变序列,那通过改变下标等也可以该表实参的数值。
可变长度参数:*p是元组,**p是字典

   常用内置函数:

sorted()对列表、元组、字典、集合或其他可迭代对象进行排序并返回新列表

type()isinstance()可以判断数据类型

reversed()对可迭代对象进行翻转(首尾交换)并返回可迭代的 reversed对象
>>> x = ['aaaa', 'bc', 'd', 'b', 'ba']
>>> reversed(x) #逆序,返回reversed对象
<list_reverseiterator object at 0x0000000002E6C3C8>
>>> list(reversed(x)) #reversed对象是可迭代的
['ba', 'b', 'd', 'bc', 'aaaa']
range()
语法格式为range([start,] end [, step] ),返回具有惰性求值特点的 range对象,其中包含左闭右开区间[start,end)内以step为步长的整数。参数 start默认为0,step默认为1。
>>> range(5) #start默认为0,step默认为1
range(0, 5)
>>> list(_)
[0, 1, 2, 3, 4]
>>> list(range(1, 10, 2)) #指定起始值和步长
[1, 3, 5, 7, 9]
>>> list(range(9, 0, -2)) #步长为负数时,start应比end大
[9, 7, 5, 3, 1]
enumerate() 函数用来枚举可迭代对象中的元素,返回可迭代的 enumerate 对象,其中每个元素都是包含索引和值的元组。
>>> list(enumerate('abcd')) #枚举字符串中的元素
[(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd')]
>>> list(enumerate(['Python', 'Great'])) #枚举列表中的元素
[(0, 'Python'), (1, 'Great')]
>>> list(enumerate({'a':97, 'b':98, 'c':99}.items())) #枚举字典中的元素
[(0, ('a', 97)), (1, ('b', 98)), (2, ('c', 99))]
>>> for index, value in enumerate(range(10, 15)): #枚举range对象中的元素
print((index, value), end=' ')
(0, 10) (1, 11) (2, 12) (3, 13) (4, 14)

3.运算符

 Python中的关系运算符可以连续使用 

>>> print(1<2>3)

False

>>> print(1<3>2)

True

>>> 'Hello' > 3 #字符串和数字不能比较
TypeError: unorderable types: str() > int()
>>> {1, 2, 3} < {1, 2, 3, 4} #测试是否子集
True

条件表达式中不允许使用赋值运算符“=”,避免了误将关系运算符“==”写作赋值运算符“=”带来的麻烦

>>> if (a=3) and (b=4):    

SyntaxError: invalid syntax

>>> 3 and 5

5

>>> 3 or 5

3

>>> 0 and 5

0

>>> 0 or 5

5

>>> not 3

False

>>> not 0

True

运算符in用于成员测试,即测试一个对象是否为另一个对象的元素
>>> 5 in range(1, 10, 1) #range()是用来生成指定范围数字的内置函数
True
>>> 'abc' in 'abcdefg' #子字符串测试
True
>>> for i in (3, 5, 7): #循环,成员遍历
print(i, end='\t') #注意,这里打两个回车才会执行
注意:逗号并不是运算符,只是一个普通分隔符
>>> 'a' in 'b', 'a'
(False, 'a')
>>> 'a' in ('b', 'a')
True
>>> x = 3, 5
>>> x
(3, 5)
>>> 3 == 3, 5
(True, 5)
>>> x = 3+5, 7
>>> x
(8, 7)
注意:位运算符只能用于整数
>>> 3 & 7 #位与运算
3
>>> 3 | 8 #位或运算
11

注意:Python不支持++和--运算符,只是两个连续的加号和减号。

>>> i = 3
>>> ++i #正正得正
3
>>> +(+3) #与++i等价
3
>>> i++ #Python不支持++运算符,语法错误
SyntaxError: invalid syntax
>>> --i #负负得正
3
>>> -(-i) #与--i等价
3

4.程序控制结构

条件判断-if


   if 1<2:
     print("True!")
   elif 1>2:
     print("False!")
   else:
     print("Flase!")
//if判断语句:
执行语句
elif..else

循环操作-for

for 取值 in 序列或迭代对象:    

      循环体

[else:    

     else子句代码块]

例1:
for i in range(5)
  print(i)


例2:

a_list = ['a', 'b', 'mpilgrim', 'z', 'example']

for i, v in enumerate(a_list):    

      print('列表的第', i+1, '个元素是:', v)

例3:使用嵌套的循环结构打印九九乘法表。

for i in range(1, 10):    

       for j in range(1, i+1):        

              print('{0}*{1}={2}'.format(i,j,i*j), end='  ')    

       print()             #打印空行

循环操作-while

while 条件表达式:    

       循环体

[else:    

        else子句代码块]


sum=0
n=99
while n>0:
  sum=sum+n
  n=n-2

print(sum)
//一般适用于循环次数不确定时,只要条件满足就不断循环

count=0
while(count<3):
   print(count,"小于3")
   count=count+1
else:
   print(count,"大于或等于3")
//在条件语句为false时执行else语句

break、continue、pass语句


n=1
while n<=100:
  if n<10:
    break
  print(n)
  n=+1
//可以跳过while和for循环,打印出1-10的结果

n=1
while n<10:
n=n+1
if n%2=0:
continue
print(n)
//跳过当前循环,直接进入下一轮,打印出能1-10之间能被2整除的数(偶数)

pass占位语句

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值