有些人不属于自己,但是遇见了也弥足珍贵。 -- 青山刚昌 《名侦探柯南》
安装python解释器
下载官网:
Welcome to Python.org
安装pycharm编辑器
下载官网:
Download PyCharm: The Python IDE for data science and web development by JetBrains
Python入门知识
标识符
1. 第一个字符必须是字母表中字母或下划线 _ 。
2. 标识符的其他的部分由字母、数字和下划线组成。
3. 标识符对大小写敏感。
保留字
1. 保留字即关键字,我们不能把它们用作任何标识符名称。
2. Python 的标准库提供了一个 keyword 模块,可以输出当前版本的所有关键字。
注释
1. Python中单行注释以 # 开头。
2. 多行注释可以用多个 # 号,或者直接用 ''' 和 """(可以跨行)。
# 第一个注释
# 第二个注释
'''
第三注释
第四注释
'''
"""
第五注释
第六注释
"""
print ("Hello, Python!")
#最后输出 Hello, Python!
行与缩进
1. python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {} 。
2. 缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。
if True:
print ("True")
else:
print ("False")
#同一个代码块,缩进必须相同
多行语句
1. Python 通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠来实现多行语。
2. 在 [], {}, 或 () 中的多行语句,不需要使用反斜杠。
total = item_one + \
item_two + \
item_three
total = ['item_one', 'item_two', 'item_three',
'item_four', 'item_five']
代码组
1. 缩进相同的一组语句构成一个代码块,我们称之代码组。
2. 像if、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。
3. 我们将首行及后面的代码组称为一个子句(clause)。
if expression :
suite
elif expression :
suite
else :
suite
print 输出
print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end="":。
x="a"
y="b"
# 换行输出
print( x )
print( y )
# 不换行输出
print( x, end=" " )
print( y, end=" " )
#最后输出
#'''
#a
#b
#a b
#'''
导入函数模块
1. 在 python 用 import 或者 from...import 来导入相应的模块。
2. 将整个模块(somemodule)导入,格式为: import somemodule
3. 从某个模块中导入某个函数,格式为: from somemodule import somefunction
4. 从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc
Python基本数据类型
变量概念
1. Python 中的变量不需要声明。
2. 每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
3. 在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。
4. 一个变量可以通过赋值指向不同类型的对象。
counter = 100 # 整型变量
miles = 1000.0 # 浮点型变量
name = "nowcoder" # 字符串
print (counter) #最后输出 100
print (miles) #最后输出 1000.0
print (name) #最后输出 nowcoder
标准数据类型分类
Python3 中有六个标准的数据类型:
- Number(数字)
- String(字符串)
- List(列表)
- Tuple(元组)
- Set(集合)
- Dictionary(字典)
Python3 的六个标准数据类型中:
- 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
- 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。
Number(数字)
1. 包含int、float、bool、complex四种细分类型。 2. 内置的 type() 函数可以用来查询变量所指的对象类型。
3. int(x) 将x转换为一个整数。
4. float(x) 将x转换到一个浮点数。
5. 此外,还存在数学函数、随机数函数、三角函数等库函数。
a, b, c, d = 20, 5.5, True, 4+3j
print(type(a), type(b), type(c), type(d))
#最后输出 <class 'int'> <class 'float'> <class 'bool'> <class 'complex'>
a = 1.0
b=int(a)
print(b)
#最后输出 1
String(字符串)
1. python中单引号 '' 和双引号 " " 使用完全相同。
2. 使用三引号('''或""")可以指定一个多行字符串。
3. 字符串可以用 + 运算符连接在一起,用 * 运算符重复。
4. Python 中的字符串有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始。
5. Python中的字符串不能改变,向一个索引位置赋值,比如word[0] = 'm'会导致错误。
6. Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。
word = '字符串'
sentence = "这是一个句子。"
paragraph = """这是一个段落,
可以由多行组成"""
str='Nowcoder'
print(str) # 输出字符串
print(str[0:-1]) # 输出第一个到倒数第二个的所有字符
print(str[0]) # 输出字符串第一个字符
print(str[2:5]) # 输出从第三个开始到第五个的字符
print(str[2:]) # 输出从第三个开始的后的所有字符
print(str * 2) # 输出字符串两次
print(str + '你好') # 连接字符串
#最后输出
#Nowcoder
#Nowcode
#N
#wco
#wcoder
#NowcoderNowcoder
#Nowcoder你好
List(列表)
1. 列表可以完成大多数集合类的数据结构实现。
2. 列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。
3. 列表是写在方括号 [ ] 之间、用逗号分隔开的元素列表。
4. 和字符串一样,列表同样可以被索引和截取,列表被截取后返回一个包含所需元素的新列表。
5. 加号 + 是列表连接运算符,星号 *是重复操作。
list = [ 'abcd', 786 , 2.23, 'nowcoder', 70.2 ]
tinylist = [123, 'nowcoder']
print (list) # 输出完整列表
print (list[0]) # 输出列表第一个元素
print (list[1:3]) # 从第二个开始输出到第三个元素
print (list[2:]) # 输出从第三个元素开始的所有元素
print (tinylist * 2) # 输出两次列表
print (list + tinylist) # 连接列表
#输出结果如下:
#'''
#['abcd', 786, 2.23, 'nowcoder', 70.2]
#abcd
#[786, 2.23]
#[2.23, 'nowcoder', 70.2]
#[123, 'nowcoder', 123, 'nowcoder']
#['abcd', 786, 2.23, 'nowcoder', 70.2, 123, 'nowcoder']
#'''
1. 可以直接通过赋值来对列表进行修改或更新。
2. 可以使用 del 语句来删除列表的的元素。
3.可以使用列表脚本操作符。
list = ['Google', 'Nowcoder', 1997, 2000]
print ("第三个元素为 : ", list[2]) #1997
list[2] = 2001
print ("更新后的第三个元素为 : ", list[2]) #2001
list = ['Google', 'Nowcoder', 1997, 2000]
print ("原始列表 : ", list) #['Google', 'Nowcoder', 1997, 2000]
del list[2]
print ("删除第三个元素 : ", list) #['Google', 'Nowcoder', 2000]
tuple(元组)
1. Python 的元组与列表类似,不同之处在于元组的元素不能修改。
2. 元组使用小括号,列表使用方括号。
3. 元组与字符串类似,下标索引从0开始,可以进行截取,组合等。
4. 元组中的元素值是不允许修改的,但我们可以对元组进行连接组合。
tup1 = ('Google', 'Nowcoder', 1997, 2000)
tup2 = (1, 2, 3, 4, 5 )
Dictionary(字典)
1. 字典的每个键值对用冒号':'分割,每个对之间用逗号','分割,整个字典包括在花括号'{}'中
2. 值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
3. 列表与字典之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。
4. 字典是一种映射类型,字典用 { } 标识,它是一个无序的键(key) : 值(value)的集合。
5. 向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值。
dict = {key1 : value1, key2 : value2 }
dict1 = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
tinydict = {'name': 'nowcoder','code':1, 'site': 'www.nowcoder.com'}
print (dict['one']) # 输出键为 'one' 的值
print (dict[2]) # 输出键为 2 的值
print (tinydict) # 输出完整的字典
print (tinydict.keys()) # 输出所有键
print (tinydict.values()) # 输出所有值
#最后输出:
#'''
#1 - 牛客教程
#2 - 牛客工具
#{'name': 'nowcoder', 'code': 1, 'site': 'www.nowcoder.com'}
#dict_keys(['name', 'code', 'site'])
#dict_values(['nowcoder', 1, 'www.nowcoder.com'])
#'''
dict = {'Name': 'Nowcoder', 'Age': 7, 'Class': 'First'}
dict['Age'] = 8 # 更新 Age
dict['School'] = "牛客教程" # 添加信息
print ("dict['Age']: ", dict['Age'])
print ("dict['School']: ", dict['School'])
#最后输出:
#dict['Age']: 8
#dict['School']: 牛客教程
1. 不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住。
2. 键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行。
dict = {'Name': 'Nowcoder', 'Age': 7, 'Name': '牛客'}
print ("dict['Name']: ", dict['Name'])
#最后输出 dict['Name']: 牛客