python基础语法学习笔记

57 阅读8分钟

一、注释 

#单行注释
'''
多行注释
'''
"""
多行注释
"""

python强调缩进,必须在同一代码块中使用相同数量的空格

二、创建变量

python没有声明变量的命令,首次为其赋值时,才会创建变量。

变量不需要使用任何特定类型声明,甚至可以在设置后更改其类型

x = 10
y = "Bill"
print(x)
print(y)

Python 变量命名规则:

  • 变量名必须以字母或下划线字符开头
  • 变量名称不能以数字开头
  • 变量名只能包含字母数字字符和下划线(A-z、0-9 和 _)
  • 变量名称区分大小写(age、Age 和 AGE 是三个不同的变量)

Python 允许您在一行中为多个变量赋值

x, y, z = "Orange", "Banana", "Cherry"
print(x)
print(y)
print(z)

 可以在一行中为多个变量分配相同的值

x = y = z = "Orange"
print(x)
print(y)
print(z)

global 关键字

通常,在函数内部创建变量时,该变量是局部变量,只能在该函数内部使用。

要在函数内部创建全局变量,您可以使用 global 关键字。

def myfunc():
  global x
  x = "fantastic"

myfunc()

print("Python is " + x)

要在函数内部更改全局变量的值,请使用 global 关键字引用该变量:

x = "awesome"

def myfunc():
  global x
  x = "fantastic"

myfunc()

print("Python is " + x)

三、python数据类型

变量可以存储不同类型的数据,并且不同类型可以执行不同的操作。

在这些类别中,Python 默认拥有以下内置数据类型:

文本类型:str
数值类型:int, float, complex
序列类型:list, tuple, range
映射类型:dict
集合类型:set, frozenset
布尔类型:bool
二进制类型:bytes, bytearray, memoryview

1、获取数据类型

您可以使用 type() 函数获取任何对象的数据类型:

x = 10
print(type(x))

2、设定特定的数据类型

如果希望指定数据类型,则您可以使用以下构造函数:

3、Python 数字

Python 中有三种数字类型:

  • int
  • float
  • complex

(1)Int 或整数是完整的数字,正数或负数,没有小数,长度不限

(2)Float,浮动或“浮点数”是包含小数的正数或负数。浮点数也可以是带有“e”的科学数字,表示 10 的幂。

x = 27e4
y = 15E2
z = -49.8e100

 (3)复数:复数用 "j" 作为虚部编写:

(4)类型转换:可以使用 int()、float() 和 complex() 方法从一种类型转换为另一种类型。无法将复数转换为其他数字类型。

(5) 随机数:Python 没有 random() 函数来创建随机数,但 Python 有一个名为 random 的内置模块,可用于生成随机数:

实例

导入 random 模块,并显示 1 到 9 之间的随机数:

import random

print(random.randrange(1,10))

4、指定变量类型

有时可能需要为变量指定类型。这可以通过 casting 来完成。 Python 是一门面向对象的语言,因此它使用类来定义数据类型,包括其原始类型。

因此,使用构造函数完成在 python 中的转换:

  • int() - 用整数字面量、浮点字面量构造整数(通过对数进行下舍入),或者用表示完整数字的字符串字面量
  • float() - 用整数字面量、浮点字面量,或字符串字面量构造浮点数(提供表示浮点数或整数的字符串)
  • str() - 用各种数据类型构造字符串,包括字符串,整数字面量和浮点字面量

5、字符串字面量

python 中的字符串字面量由单引号或双引号括起。'hello' 等同于 "hello"。可以使用 print() 函数显示字符串字面量。

(1)多行字符串:可以使用三个引号将多行字符串赋值给变量

(2)字符串是数组

像许多其他流行的编程语言一样,Python 中的字符串是表示 unicode 字符的字节数组。

但是,Python 没有字符数据类型,单个字符就是长度为 1 的字符串。方括号可用于访问字符串的元素。

a = "Hello, World!"
print(a[1])

(3)裁切

可以使用裁切语法返回一定范围的字符。指定开始索引和结束索引,以冒号分隔,以返回字符串的一部分。

实例

获取从位置 2 到位置 5(不包括) 的字符:

b = "Hello, World!"
print(b[2:5])

 负的索引使用负索引从字符串末尾开始切片:

实例

获取从位置 5 到位置 1 的字符,从字符串末尾开始计数:

b = "Hello, World!"
print(b[-5:-2])

(4)字符串长度

如需获取字符串的长度,请使用 len() 函数。

(5)字符串方法

Python 有一组可用于字符串的内置方法:

strip() 方法删除开头和结尾的空白字符。

lower() 返回小写的字符串。

upper() 方法返回大写的字符串。 

replace() 用另一段字符串来替换字符串。

a = "Hello, World!"
print(a.replace("World", "Kitty"))

split() 方法在找到分隔符的实例时将字符串拆分为子字符串

a = "Hello, World!"
print(a.split(",")) # returns ['Hello', ' World!']

检查字符串

如需检查字符串中是否存在特定短语或字符,我们可以使用 in 或 not in 关键字。

txt = "China is a great country"
x = "ina" in txt
print(x)

(6)字符串格式

正如在 Python 变量一章中所学到的,我们不能像这样组合字符串和数字:

age = 63
txt = "My name is Bill, I am " + age
print(txt)

但是我们可以使用 format() 方法组合字符串和数字!

format() 方法接受传递的参数,格式化它们,并将它们放在占位符 {} 所在的字符串中:

实例

使用 format() 方法将数字插入字符串:

age = 63
txt = "My name is Bill, and I am {}"
print(txt.format(age))

format() 方法接受不限数量的参数,并放在各自的占位符中:

quantity = 3
itemno = 567
price = 49.95
myorder = "I want {} pieces of item {} for {} dollars."
print(myorder.format(quantity, itemno, price))

可以使用索引号 {0} 来确保参数被放在正确的占位符中:

quantity = 3
itemno = 567
price = 49.95
myorder = "I want to pay {2} dollars for {0} pieces of item {1}."
print(myorder.format(quantity, itemno, price))

所有字符串方法都返回新值。它们不会更改原始字符串。

6、布尔表示两值之一:True 或 False

bool() 函数可让您评估任何值,并为您返回 True 或 False。

大多数值都为 True:

如果有某种内容,则几乎所有值都将评估为 True。

除空字符串外,任何字符串均为 True。

除 0 外,任何数字均为 True。

除空列表外,任何列表、元组、集合和字典均为 True。

Python 还有很多返回布尔值的内置函数,例如 isinstance() 函数,该函数可用于确定对象是否具有某种数据类型 。

7、运算符

8、Python 集合(数组)

Python 编程语言中有四种集合数据类型:

  • 列表(List) 是一种有序和可更改的集合。允许重复的成员。
  • 元组(Tuple) 是一种有序且不可更改的集合。允许重复的成员。
  • 集合(Set) 是一个无序和无索引的集合。没有重复的成员。
  • 词典(Dictionary) 是一个无序,可变和有索引的集合。没有重复的成员。

8.1列表

列表是一个有序且可更改的集合。在 Python 中,列表用方括号编写。

列表长度如需确定列表中有多少项,请使用 len() 方法。

list=[1,2,3,4,5,6]
print(list[0])#获得第一项
print(list[1:3])#获得2,3,不包括4,即左闭右开
print(list[-3:-1])#负的索引

添加项目

如需将项目添加到列表的末尾,请使用 append() 方法

要在指定的索引处添加项目,请使用 insert() 方法

thislist = ["apple", "banana", "cherry"]
thislist.insert(1, "orange")
print(thislist)

 删除项目

有几种方法可以从列表中删除项目:

remove() 方法删除指定的项目:

thislist = ["apple", "banana", "cherry"]
thislist.remove("banana")
print(thislist)

pop() 方法删除指定的索引(如果未指定索引,则删除最后一项):

thislist = ["apple", "banana", "cherry"]
thislist.pop()
print(thislist)

del 关键字删除指定的索引:

thislist = ["apple", "banana", "cherry"]
del thislist[0]
print(thislist)

clear() 方法清空列表:

复制列表

您只能通过键入 list2 = list1 来复制列表,因为:list2 将只是对 list1 的引用,list1 中所做的更改也将自动在 list2 中进行。

有一些方法可以进行复制,一种方法是使用内置的 List 方法 copy()

thislist = ["apple", "banana", "cherry"]
mylist = thislist.copy()
print(mylist)

合并两个列表

在 Python 中,有几种方法可以连接或串联两个或多个列表。

最简单的方法之一是使用 + 运算符

list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]

list3 = list1 + list2
print(list3)

连接两个列表的另一种方法是将 list2 中的所有项一个接一个地追加到 list1 中 :append()

list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]

for x in list2:
  list1.append(x)

print(list1)

使用 extend() 方法, 其目的是将一个列表中的元素添加到另一列表中:

list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]

list1.extend(list2)
print(list1)

list() 构造函数

也可以使用 list() 构造函数创建一个新列表。

thislist = list(("apple", "banana", "cherry")) # 请注意双括号
print(thislist)