1.每天一点点之python - 基础语法

 

先来看段简单代码:

#!/usr/bin/env python3
# print absolute value of an integer:
a = 100
print(A)    # name 'A' is not defined
if a >= 0:
    print(a)
else:
    print(-a)

说明:

  • # 表示注释
  • 用缩进来代替大括号
  • 区分大小写,如果写错了大小写,程序会报错。  

 

一、数据类型和变量

一)数据类型

1、整数和浮点数

整数:比如1,200,-1000,0,也有用十六进制表示的比如0xff00等

浮点数:比如1.11,12,13,-10.02,也有比较大的浮点数比如2.12x10^9

 

2、字符串:单引号、双引号、三引号

python的字符串以''或者""或者''''''括起来的随意文本都是字符串。

字符串里面包含特殊的字符,可以用转义\进行转义

word='Xiao Ming said \"I\'am full\".'
print(word)

>>Xiao Ming said "I'am full".

 

三引号一般用在类或者函数的开头用来做大段的注释用

 

python的字符串格式化:

  1) %操作符

name="xiao ming"
age=20
print("Your name is %s,age is %d"%(name,age)) 

  2) .format

name="xiao ming"
age=20
print("Your name is {0},age is {1}".format(name,age))
print("age is {1},your name is {0}".format(name,age))

.format的用法比较灵活,参数的顺序和格式化的顺序不必完全相同

  3) f-string

还可以通过“f+字符串”来实现格式化

>>> r = 2.5
>>> s = 3.14 * r ** 2
>>> print(f'The area of a circle with radius {r} is {s:.2f}')
The area of a circle with radius 2.5 is 19.62

上述代码中,{r}被变量r的值替换,{s:.2f}被变量s的值替换,并且:后面的.2f指定了格式化参数(即保留两位小数),因此,{s:.2f}的替换结果是19.62

 

 3、布尔值

 Python中的布置值,只有True和False两种(一定要注意大小写),布尔值的运算可以用and,or 和not

 

 4、空值

Python的空值是用None表示,None不是0,也不是空字符串,也不是False,它是一个特殊的空值 

>>> type(None)  
<class 'NoneType'>  
>>> None == 0 False
>>> None == '' False
>>> None == None True
>>> None == False False

 

二)变量

python的变量名必须是大小写的英文字母数字和下划线(_)的组合,切记不能用数字开头

a=10
n_1=1000
a='wang01'

 

三)常量

所谓常量就是不能变的变量。在Python中,通常用全部大写的变量名表示常量:

PI = 3.14159265359

 

四)整数的除法

在Python中,有两种除法,一种除法是/,一种是//

>>> 10 / 3
3.3333333333333335

>>> 9 / 3
3.0

>>> 10 // 3
3

 

 


 

二、list和tuple

一)list

1.创建list

list内部元素可以是字符串、字符、数字,支持混搭

aList = ['apple', 100, 0.01, 'banana','A','B','C']

 

2.访问list

直接通过下标访问,需要注意下标国界问题

>>> print(aList[0])
apple

>>> print(aList[7])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range

如果想要访问最后一个元素,或者从后面开始访问,也可以通过“-”来实现:

>>> print(aList[-1])
C

 

3.列表的切片

通过切片获取列表中的一部分

>>> print(aList[1:3])
[100, 0.01]

注意:索引包前不包后,即 [)。

 

4.列表的嵌套

列表可以嵌套列表、字典、元组等。

>>> bList=[100,200,['aaa','bbb','ccc']]
>>> bList[0]
100

 

5.列表的插入

内置函数appendinsert进行插入操作。

>>> aList
['apple', 100, 0.01, 'banana', 'A', 'B', 'C']

>>> aList[1]=111
>>> aList
['apple', 111, 0.01, 'banana', 'A', 'B', 'C']

>>> aList.append('D')
>>> aList
['apple', 111, 0.01, 'banana', 'A', 'B', 'C', 'D']

>>> aList.insert(0,'python')
>>> aList
['python', 'apple', 111, 0.01, 'banana', 'A', 'B', 'C', 'D']

 

6.列表的删除

内置函数removepop进行删除操作。

a. 使用del,通过索引删除

>>> del aList[0]
>>> aList
['apple', 111, 0.01, 'banana', 'A', 'B', 'C', 'D']

b. 使用remove删除元素

>>> aList.remove('B')
>>> aList
['apple', 111, 0.01, 'banana', 'A', 'C', 'D']

c. 使用pop弹出最后一个元素,返回被删除元素

>>> aList.pop()
'D'
>>> aList
['apple', 111, 0.01, 'banana', 'A', 'C']

 当然,也可以通过索引删除对应值

>>> aList.pop(1)
111
>>> aList
['apple', 0.01, 'banana', 'A', 'C']

 

7.列表的拼接(+)、循环复制(*)

>>> list1=[1,2,3]
>>> list2=[100,200,300]
>>> list3=list1+list2
>>> list3
[1, 2, 3, 100, 200, 300]

>>> list4=['a','b']
>>> list5=list4*3
>>> list5
['a', 'b', 'a', 'b', 'a', 'b']

注意:使用“+”拼接的列表返回的是一个新的列表

 

8.列表的排序

排序可以通过内置函数sort进行排序,接受一个参数,reverse=False生序,reverse=True降序,不填默认生序。

>>> bList=[1,20,50,30,-10,-40,100]
>>> bList.sort(reverse=False)
>>> bList
[-40, -10, 1, 20, 30, 50, 100]

>>> bList.sort(reverse=True)
>>> bList
[100, 50, 30, 20, 1, -10, -40]

 

9.计算列表长度

通过内置方法len计算长度。

>>> aList=[1,2,3,4,5]
>>> len(aList)
5

 

10.计算列表中的最大值、最小值

使用内置函数maxmin获取列表中的最大值和最小值

>>> min(aList)
1
>>> max(aList)
5

 

11.列表的扩展

使用内置函数extend进行扩展,与+不同的是,+是返回新的列表,extend返回的是当前列表。

>>> aList=[1,2,3]
>>> bList=[4,5]
>>> aList.extend(bList)
>>> aList
[1, 2, 3, 4, 5]

 

12.查询列表中元素的索引

使用内置函数index获取对应索引值

>>> aList=['a','b','c']
>>> aList.index('b')
1

 

13.统计元素出现的次数

使用内置函数count获取

>>> aList=['a','b','c','a','d','a','e']
>>> aList.count('a')
3

注意:列表是支持重复元素的。

 

二)元组

元组(tuple)和列表(list)一样,也是一种序列,唯一的不同在于不能修改。

1.元组的创建

>>> aTuple=(1,2,3)
>>> aTuple
(1, 2, 3)

注意:当元组只有一个元素的时候,后面需要加逗号,如(100,)

 

2.元组的用法

元组的用法和列表一样,那为什么会有元组呢,在什么场景下需要使用元组:

  • 一些特殊场合需要不可变序列
  • 一些内建函数的返回值

 

 

 

  

posted @ 2019-06-24 15:27  我若亦如风  阅读(278)  评论(0编辑  收藏  举报