python基础语法

目录

·缩进

·注释

·变量

·数据类型

·字符串

·字符串方法

·运算符

·四种集合类型

·For循环

·函数

·参数

·Lambad 函数

·类&对象

·继承

·作用域

·模块

·Try Except


·缩进

Python 中的缩进非常重要。

Python 使用缩进来指示代码块。如果省略缩进,Python 会出错,空格数取决于程序员,但至少需要一个,而且必须在同一代码块中使用相同数量的空格,否则出错。

·注释

python中注释以 # 开头

或者可以在代码中添加多行字符串(三引号),并在其中添加注释:

"""
This is a comment
written in 
more than just one line
"""
·变量

Python 没有声明变量的命令,变量直接在为其赋值时创建的,甚至可以在设置后更改其类型

x = 5
y = "Hello, World!"

变量名只能包含字母数字字符和下划线,且区分大小写

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

x, y, z = "Orange", "Banana", "Cherry"
·数据类型

复数用 "j" 作为虚部编写,无法将复数转换为其他数字类型

在python中可以使用 type() 函数获取任何对象的数据类型

x = 10
print(type(x))
·字符串

字符串就是数组,Python 没有字符数据类型,单个字符就是长度为 1 的字符串。

方括号可用于访问字符串的元素:

a = "Hello, World!"
print(a[1])
·字符串方法

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

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

2)lower() 返回小写的字符串,upper() 方法返回大写的字符串;

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

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

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

eg:

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

赋值运算符

比较运算符
逻辑运算符

身份运算符

身份运算符用于比较对象,不是比较它们是否相等,但如果它们实际上是同一个对象,则具有相同的内存位置

成员运算符

成员资格运算符用于测试序列是否在对象中出现

位运算符

·四种集合类型
1)列表list

一种有序可更改的集合,允许重复的成员,用方括号编写,通过引用索引号来访问列表项,也可通过索引号来更改特定项目的值,具体实例方法如下:

thislist = ["apple", "banana", "cherry","orange", "kiwi", "melon"]   #创建列表
print(thislist[1])     #打印列表第二项
print(thislist[-1])    #打印列表最后一项
print(thislist[2:5])   #打印第三、四、五项
thislist[1] = "mango"  #更改第二项
for x in thislist:     #循环遍历列表项
print(len(thislist))   #打印列表项目数
thislist.append("mango") #将项目添加到列表的末尾
thislist.insert(1, "mango") #在指定的索引处添加项目
thislist.remove("banana")   #删除指定的项目
thislist.pop()      #删除指定的索引(如果未指定索引,则删除最后一项)
del thislist[0]/del thislist     #删除指定索引或整个列表
thislist.clear()      #清空列表
mylist = thislist.copy() /mylist = list(thislist)  #复制列表
------------------------
list1 = ["a", "b" , "c"]
list2 = [1, 2, 3]
list3 = list1 + list2    #合并两个列表
for x in list2:
  list1.append(x)       #将 list2 中的所有项一个接一个地追加到 list1 中
list1.extend(list2)     #将 list2 添加到 list1 的末尾
2)元组tuple

元组是有序且不可更改的集合,一旦创建就无法向其添加删除项目,用圆括号编写:

thistuple = ("apple", "banana", "cherry", "orange", "kiwi", "melon")   #创建元组
print(thistuple[1])   #打印元组的第二项
for x in thistuple:    #遍历项目
if "apple" in thistuple:  #检查元组红是否存在apple
print(len(thistuple))    #打印元组项目数量

【注】:如需创建仅包含一个项目的元组,必须在该项目后添加一个逗号,否则 Python 无法将变量识别为元组。

3)集合set

集合是无序和无索引的集合,无法通过引用索引来访问 set 中的项目,不过可以可以使用 for 循环遍历 set 项目,或 in 关键字查询集合中是否存在指定值,集合用花括号编写,一旦创建就无法更改,但可以添加或者删除项目:

thisset = {"apple", "banana", "cherry"}   #创建集合
thisset = set(("apple", "banana", "cherry"))   #使用 set() 构造函数来创建集合
for x in thisset:        #遍历集合
thisset.add("orange")    #添加项目
thisset.update(["orange", "mango", "grapes"])   #添加多个项目到集合中
thisset.remove("banana")/thisset.discard("banana")   #删除项目
x = thisset.pop()     #删除最后一项,返回值是被删除的项目
thisset.clear()       #清空集合
del thisset           #删除整个集合
-------------
set1 = {"a", "b" , "c"}
set2 = {1, 2, 3}
set3 = set1.union(set2)   #返回一个新集合,其中包含两个集合中的所有项目
set1.update(set2)         #将 set2 中的项目插入 set1 
4)词典dictionary

字典是一个无序、可变和有索引的集合,用花括号编写,拥有键和值:

thisdict =  {
  "brand": "Porsche",
  "model": "911",
  "year": 1963
}                  #创建字典
​
x = thisdict["model"]/x = thisdict.get("model")  #通过在括号内引用其键名来获得键的值
thisdict["year"] = 2019    #修改健值
for x in thisdict:     #循环遍历字典,返回值是字典的键
  print(thisdict[x])/for x in thisdict.values():   #逐个打印所有健值
for x, y in thisdict.items():   #使用 items() 函数遍历键和值
thisdict["color"] = "red"   #使用新的索引键并赋值,将项目添加到字典
thisdict.pop("model") /del thisdict["model"]     #删除具有指定键名的项
thisdict.popitem()     #删除最后插入的项目
mydict = thisdict.copy()    #复制字典
mydict = dict(thisdict)     #使用 dict() 方法创建字典的副本
​

【注】:词典也可以包含许多词典,称为嵌套词典

·For循环

for 循环用于迭代序列(即列表,元组,字典,集合或字符串)。

这与其他编程语言中的 for 关键字不太相似,而是更像其他面向对象编程语言中的迭代器方法。

range()函数

循环一组代码指定的次数,可以使用 range() 函数,返回一个数字序列,默认情况下从 0 开始,默认递增 1,并以指定的数字结束

for x in range(10):       #遍历值0-9
for x in range(3, 10):    #遍历值3-9
for x in range(3, 50, 6):  #遍历3-49 以6为递增的序列
·函数

函数是一种仅在调用时运行的代码块,可以将数据(称为参数)传递到函数中,也可以把数据作为结果返回。

使用 def 关键字定义函数,调用函数使用函数名称后跟括号:

def my_function():     #创建函数
  print("Hello from a function")
​
my_function()          #调用函数
·参数

参数在函数名后的括号内指定,根据需要添加任意数量的参数,用逗号分隔即可;如果调用了不带参数的函数,则使用默认值:

def my_function(country = "China"):
  print("I am from " + country)
​
my_function("Sweden")
my_function("India")
my_function()  #使用默认值
·Lambad 函数

lambda 函数是一种小的匿名函数,可接受任意数量的参数,但只能有一个表达式:

lambda arguments : expression

eg:

x = lambda a, b, c : a + b + c
print(x(5, 6, 2))

当把 lambda 用作另一个函数内的匿名函数时,会展现 lambda 的强大能力:

def myfunc(n):
  return lambda a : a * n
​
mydoubler = myfunc(2)
​
print(mydoubler(11))
·类&对象

Python 中的几乎所有东西都是对象,拥有属性和方法;类(Class)类似对象构造函数,或者是用于创建对象的“蓝图”。

class MyClass:     #使用名为 x 的属性,创建一个名为 MyClass 的类
  x = 5
p1 = MyClass()     #创建一个名为 p1 的对象,并打印 x 的值
print(p1.x)
_init() 函数

在实际应用程序中,所有类都有一个名为 init() 的函数,每次使用类创建新对象时,都会自动调用 init() 函数,它始终在启动类时执行;使用 init() 函数将值赋给对象属性,或者在创建对象时需要执行的其他操作

self参数

self 参数是对类的当前实例的引用,用于访问属于该类的变量;可不必被命名为 self但它必须是类中任意函数的首个参数

对象方法

对象也可以包含方法,对象中的方法是属于该对象的函数。

#创建名为 Person 的类,使用 __init__() 函数为 name 和 age 赋值
class Person:            
  def __init__(mysillyobject, name, age):
    mysillyobject.name = name
    mysillyobject.age = age
​
  def myfunc(abc):           #在 Person 类中创建方法
    print("Hello my name is " + abc.name)
​
p1 = Person("Bill", 63)
p1.myfunc()                    #在 p1 对象上执行该对象的函数
del p1.age/del p1          #删除对象的属性和对象
·继承

继承一般是继承另一个类的所有方法和属性的类。一般有父类和子类

#创建一个Person类,其中包含 firstname 和 lastname 属性以及 printname 方法
class Person:
  def __init__(self, fname, lname):
    self.firstname = fname
    self.lastname = lname
​
  def printname(self):
    print(self.firstname, self.lastname)
​
# 使用 Person 来创建对象,然后执行 printname 方法:
​
x = Person("Bill", "Gates")
x.printname()
​
#创建一个 Student 类,继承 Person 类属性和方法,并使用student创建对象执行printname方法
​
class Student(Person):
x = Student("Elon", "Musk")
x.printname()
​
#子类的 __init__()会覆盖对父的 __init__()的继承。如需保持父的 __init__() 的继承,添加对父的 __init__() 函数的调用,或者使用super() 函数,它会使子类继承父类的所有方法和属性
​
  def __init__(self, fname, lname,year):
    Person.__init__(self, fname, lname)/super().__init__(fname, lname)
    self.graduationyear = year  #添加属性和参数
    
#创建对象传递正确的值
x = Student("Elon", "Musk", 2019)
​
#在该类中添加方法
def welcome(self):
    print("Welcome", self.firstname, self.lastname, self.graduationyear)
·作用域
局部作用域

在函数内部创建的变量属于该函数的局部作用域,并且只能在该函数内部使用

全局作用域

在 Python 代码主体中创建的变量是全局变量,属于全局作用域。全局变量在任何范围中可用

【注】:如果在函数内部和外部操作同名变量,Python 会将它们视为两个单独的变量,一个在全局范围内可用(函数外部),而一个在局部范围内可用(函数内部

global 关键字

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

但若要在函数内部创建全局变量,便可以使用 global 关键字使变量成为全局变量;

另外,如果要在函数内部更改全局变量,也使用 global 关键字

x = "awesome"
def myfunc():
  global x
  x = "fantastic"
·模块

模块是包含一组函数的文件,在应用程序中被引用,创建模块需将所需代码保存在文件扩展名为 .py 的文件中,然后使用import来调用创建的模块

#导入模块时使用 as 关键字创建别名
import mymodule as mx
​
a = mx.person1["age"]   #访问模块中的元素
print(a)
​
x = dir(mx)      #内置函数dir可以列出模块中的所有函数名(或变量名)
​
#导入时间模块
import datetime
​
x = datetime.datetime(2019, 10, 1)  #使用 datetime 模块的 datetime() 类创建日期对象
print(x.strftime("%B")) #strftime() 方法把日期对象格式化为可读字符串
·Try Except

try测试代码块以查找错误,except处理错误,finally`执行代码,无论 try 和 except 块的结果如何

try:
  print(x)
except:
  print("Something went wrong")
finally:
  print("The 'try except' is finished")
  
x = -1
#使用 raise 关键词 抛出异常
if x < 0:
  raise Exception("Sorry, no numbers below zero")
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值