Python基础--介绍python基础语法

字符串操作:

  • 创造后不可变,是不可变类型
  • 字符串内元素的获取:字符串后可跟[],用来取得字符串内的元素,正数表示正着数,负数表示倒着数。'hello'[0]=h。
  • 字符串的截取:"hello world"[0:5]=hello,'hello world'[2:]=llo world(第二项不写,默认到最后)。
  • 字符串前边加r,表示原生字符串,防止转义字符。r"hello \n world"='hello \\n world'
  • id() 函数可以用来显示数据在内存的地址。

 

组合数据类型

类型可以混合,不必是单一的数据类型;操作和字符串一样,+号和*号与字符串操作也相同

  • 列表类型:

    • []用来表示和创建列表list;
    • 如果同时取出多个数据,则类型还是列表类型
  • 字典类型

    • {}用来表示和创建dict(dictionary字典键值对)类型;键和值之间用 : 分割
    • 也不支持切片操作,因为是无序类型
    • 通过key来取值:例,{1:2,'W':3,2:4}['W']=3
    • key不允许重复,如果出现重复,则第二个value会覆盖掉第一个value
    • value类型:str int float list set dict
    • key类型:必须是不可变类型,如列表类型
  • 集合类型

    • 可用set()函数创建set(集合)类型,set也用{}表示,但不可用{}创建;
    • 不支持切片操作
    • 支持 - 操作,用一个集合去减去另一个集合,即求两个集合的差集
    • 支持用 & 操作,求两个集合的交集,和 | 操作,求两个集合并集
  • 元组类型:

    • ()用来表示和创建元组类型,元组类型一经创建就不可改变。
    • 当元组中只有一个数据时,python会把它解析为普通括号,并不是元组类型。所以要定义只有一个元素的元组要多加一个逗号:例,type((1,))=<class 'tuple'>。
    • 元组类型虽然不可改变,但如果一个元组类型中又有列表或其他可变类型,则元组内的可变类型其实是可以改变的。

 

序列类型(字符串、列表、字典)的操作:

  • 切片:类似:[1:4:2],第一个是起始位置,第二个是终止位置,第三个是步长。还可以利用切片进行赋值。例,[1,2,3,4,5,6][0:6:2]=[1, 3, 5],可以减少不必要的循环语句。
  • in:判断一个元素是否在序列中。
  • +号表示两个序列相加。*号后跟数字表示序列重复出现几次
  • len 函数计算序列长度,max 和 min 函数可以取出序列中最大和最小的元素(字符会转换成ASCII码)。ord 函数可以查看字符的ASCII码

 

Python中的运算符:

  • 算数运算符:+、-、*、/、//(整除)、%(取模)、**(指数)等。
  • 赋值运算符:=、+=、-=、*=、/=、//=、%=、**=,就是在算数运算符后加一个等号。表示将运算后的结构赋给变量。
  • 关系(比较)运算符:==、!=、>、<、>=、<=。比较完成的结果会返回一个bool值。
  • 逻辑运算符:and(与)、or(或)、not(非)。逻辑运算符用来操作bool类型。
    • int和float类型中:0表示False,非0表示True
    • 字符串中:空字符串表示False,非空表示True
    • 列表、元组、集合、字典:空元素表示False,非空表示True
  • 成员运算符:in(在)、not in(不在);用来判断一个元素是否在一组元素中,返回bool类型。
    • 对于字典,判断的是key而不是value。
  • 身份运算符:is(是)、is not(不是);
    • == 号比较的是两个变量的值,而身份运算符比较的是变量的地址。即id函数得到的地址。
  • 位运算符:&(按位与)、|(按位或)、^(按位异或)、~(按位取反)、<<(左移)、>>(右移);

 

Python中循环的方式:

  • while语句

    i=1
    while i<5:
        print(i,end=' ')
        i+=1

     

  • for语句

# 遍历序列
list=['a',1,'c','str']
for i in list:
    print(i)
    
# 利用range函数遍历,第一个参数是起始位置,第二个参数是结束位置,第三个是步长
# 步长可以是负数,即表示倒序遍历
for i in range(0,10,2):
    print(i)

 

Python中的模块、包与类、函数:

  • 模块:一个Python文件就是一个模块,一个模块可以包含多个类,所以说python的一个文件可以有多个类。
  • 包:只有当文件夹下有__init__.py文件时,python才会认为这个文件夹是一个包。

import关键字:

  • import之后只能跟模块名。表示导入某个模块,然后使用 “.” 来调用模块内的变量或函数。
  • 如果与要导入的模块在同一个包内,则可直接跟模块名,否则是包名点模块名。
  • 一次引入多个元素,可以使用逗号分隔。
  • 使用 as 关键字可以为要导入的模块起一个别名。例,import turtle as t。
  • 使用 from 关键字,可以直接从模块中导入变量或函数(from module import def),也可以从包中导入模块(from package import module)。例,from h1 import hello。
  • 当我们导入一个模块时,python会先执行这个模块的内容。
'会先执行h1的内容,再去执行h2内的代码'
h1.py:
    print('this is h1')
h2.py:
    import h1
    print('this is h2')    
输出:
    this is h1
    this is h2    
  • 还可以使用“*”来一次性导入模块中的所有变量或函数。
# 可以使用__all__变量来控制*导入的变量
h1.py:
    __all__ = ['a']
    a=2
    def hello():
        print('hello')
h2.py:
    from h1 import *
    print(a)
    hello()    
#最后只会打印出a的值,hello函数并没有被导入。    

 

__init__.py文件:

  • 是一个包的初始化文件,当我们导入一个包时(或包内的元素),会自动执行包内的__init__.py文件。
  • 在__init__.py文件中也可通过设置__all__变量的内容,来限制*号可以导入的模块。
  • 批量导入包,在__init__.py文件导入所有要导入的包,然后只导入这一个包即可。

 

Python中的函数:

  • 函数的调用必须在定义之后。
  • 函数的return关键字可以返回多个数据,以逗号分隔即可。python会自动封装成一个元组类型。接收时也可使用多个变量接收。
def h(n):
    return n,n+1
a,b=h(1)
print(a,b) #输出 1 2

 

函数中参数的类型:

  • 必须参数:即必须赋值的参数。

    • 调用时显示指明参数:即在调用指明参数赋值。例,add(x=1,y=2),这样参数顺序随意。
  • 默认参数:即在函数定义时,给出参数的默认值。调用可以不必再给出。def add(x=1,y=2)
    • 默认参数必须在必须参数之后。关键字参数也是要在必须参数后。
  • 可变参数:在参数名称前加“ * ”号表示可变参数。表示接收任意个参数。调用时,会将实际参数打包成一个元组传入形式参数。
  • 关键字参数:在参数名称前加“ ** ”号表示关键字参数。表示接受键值对的动态参数,数量任意。调用的时候会将实际参数打包成字典。
  • 命名关键字参数:如果要限制关键字参数的名字,就可以用命名关键字参数,和关键字参数**kw不同,命名关键字参数需要一个特殊分隔符*,*后面的参数被视为命名关键字参数。
    • 如果函数定义中已经有了一个可变参数,后面跟着的命名关键字参数就不再需要一个特殊分隔符*了
def person(name, age, *, city, job):
    print(name, age, city, job)
person('Jack', 24, city='Beijing', job='Engineer') # 调用时这样传参

def person1(name, age, *args, city, job):
    print(name, age, args, city, job)
person1('Jack', 24, 'Beijing', 'Engineer') # 这样调用会报错
person1('Jack', 24, city='Beijing', job='Engineer') # 这样才对

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值