Python 学习(一)基本知识学习

本文记录 python 基本知识学习中查漏补缺的部分

1.基本语法

1.1 常量和变量

1.1.1 常量

  1. 空值
    两个空值在内存地址中一致,但是值不相等。
 # 用'is'和'=='分别判断两个空值的关系
import numpy as np

a = np.nan
b = np.nan
if a == b:
    print("Same")
else:
    print("Not Same")
if a is b:
    print("Same")
else:
    print("Not Same")

# 运行结果
Not Same
Same
  • is 用于判断对象的引用是否相同,即内存地址
  • == 用于判断对象的是否相同
  • nan 是一个float64的非空对象,两个空值指向同一个内存地址,但是具备自身的值属性,因此值不相等。

1.1.2 变量

  1. 多个变量赋值
# 同时为多个变量赋相同的值
a = b = c = 1
print(a, b, c)

# 同时为多个变量指定多个值
a1, b1, c1 = 1, 2, 'python'
print(a1, b1, c1)

# 运行结果
1 1 1
1 2 python

1.2 数据类型

1.2.1 数字(Number)

  1. 复数:a+bj 或 complex(a,b)
    复数的实部a和虚部b都是浮点型
  2. 类型转换
a = 1.8
# float 转成  int
b = int(a)
print(b)

# int 转成 float
c = float(b)
print(c)

# 创建一个复数
d = complex(1, 2)
print(d)

# 运行结果
1
1.0
(1+2j)

1.2.2 字符串(String)

  1. 取值
    从左到右索引默认从0开始,从右到左索引默认从-1开始
  2. 内置函数
  • format(): 从其他信息中构造字符串
  • split(): 通过某种字符分隔字符串
  • upper(): 把字符串转换成大写
  • lower(): 把字符串转化成小写
  1. 数据转换
# 字符串和整数的相互转换
# chr:将整数转换为字符串
a = 12
b = chr(a)
print(b) # '12'
# ord:将字符串转换为整数
c = ord(b)
print(c) # 12

# repr:将对象转化为表达式字符串,即加上引号
a = "print(a)"
print(repr(a)) # 'print(a)'

# eval(str):计算在字符串中的有效Python表达式,并返回一个对象
a = 1
b = 2
f = eval(repr(a + b))
print(f) # 3

# hex:将整数转换为十六进制字符串
a = 24
b = hex(a)
print(b) # 0x18

# oct:将整数转换为八进制字符串
c = oct(a)
print(c) # 0o30

1.2.3 列表(List)

  1. 左闭右开
  2. append 在尾部添加元素
  3. 直接首尾合并两个列表:+

1.2.4 元组(Tuple)

  1. 数据不可被修改
  2. 用( )存放数据

1.2.5 字典(Dictionary)

  1. 数据存放: {‘key1’ : ‘value1’, ‘key2’ : ‘value2’}

1.2.6 集合(Set)

  1. 不考虑元素顺序和出现次数
  2. 增 add ,删 remove, 查 in
  3. 并集 | ,交集 & ,异或 ^ (i.e. 并 - 交)
# eval:实现list、tuple、dict与str之间的转化
# 字符串转换成列表
a = "[[1,2], [3,4], [5,6]]"
b = eval(a)
print(b) # [[1, 2], [3, 4], [5, 6]]
# 字符串转换成元组
a = "([1,2], [3,4], [5,6], (0,0))"
b = eval(a)
print(b) # ([1, 2], [3, 4], [5, 6], (0, 0))
# 字符串转化成字典
a = "{1: 'a', 2: 'b'}"
b = eval(a)
print(b) # {1: 'a', 2: 'b'}

# 序列转换成元组
s = [1, 2, 3]
t = tuple(s)
print(t) # (1, 2, 3)

# 序列转换成列表
l = list(s)
print(l) # [1, 2, 3]

1.3 运算符

1.3.1 算数运算符

  1. 整除(//)
    相当于除法向下取整
  2. 异或(^)
    相同为0,不同为1
  3. 取反(~)
  4. 右移(>>)
  5. 左移(<<)

1.3.2 赋值运算符

  1. b += a 等效于 b = b + a
  2. b *= a 等效于 b = b * a

1.3.3 比较运算符

  1. 等于:==

1.3.4 逻辑运算符

  1. and:x and y
    布尔"与" ,如果 x 为 False,返回 False,否则返回 y 的计算值
  2. or:x or y
    布尔"或" ,如果 x 为非 0,返回 x 的值,否则返回 y 的计算值
  3. not:x not y
    布尔"非" ,如果 x 为 True,返回 False ,否则返回 True

1.3.5 成员运算符

  1. in
  2. not in

1.3.6 身份运算符

  1. is :相当于id(x) == id(y)
  2. is not:相当于id(x) != id(y)

1.4 文件

  1. 读取文件
# 读取excel文件
import pandas as pd
df = pd.read_excel( r"path\name.xlsx",encoding='utf-8')

# 读取csv文件
import csv
with open('path\name.csv',encoding='utf-8') as file:
	csv_reader = csv.reader(file)

# 读取txt文件
f = open('path\name.txt', encoding='utf-8')
content = text_file.read()

2.基本语句

2.1 条件语句

  1. if 语句
  2. if else 语句
  3. if elif else 语句

2.2 循环语句

  1. for 循环
  2. while 循环
  3. Python没有 do while 循环

2.3 循环控制语句

  1. break:跳出整个循环
  2. continue:跳出当前循环
  3. pass:空语句,保证程序完整性

2.4 函数

  1. 定义函数
  • global
    当想在函数内部使用全局变量时,可用global进行标注
  • return
    当想返回多个变量值时,可以把多个变量放在一个列表中,所需数据按照相应索引顺序打印

3.面向对象

3.1 类

  1. 下划线控制访问
  • 单下划线开头(_foo):表示 protected 类型的变量,只允许类对象和子类对象访问,不能用于 from module import
  • 双下划线开头(__foo):表示private类型的变量, 只允许该类本身进行访问
  • 双下划线开头和结尾(__foo__):定义的是特殊方法,一般是系统定义名字,例如__init__()

3.2 类的继承

  1. class 子类名(父类名)
  • 调用父类的方法时,需要加上父类的类名前缀,且需要带上 self 参数变量
  • Python先在本类中查找调用的方法,找不到才去父类中找
  • 可以继承多个类

3.3 方法重写

如果父类方法功能不能满足需求,可以在子类重写父类的方法

class Parent:  # 定义父类
    def myMethod(self):
        print('调用父类方法')

class Child(Parent):  # 定义子类
    def myMethod(self):
        print('调用子类方法')
    pass

c = Child()  # 子类实例
c.myMethod()  # 子类调用重写方法
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值