python系统学习【一】基础和函数

1. 解释型语言和编译型语言

2. print()函数

# 可以输出数字
print(520)
print(45.3)
# 可以输出字符串
print("helloword")
# 输出运算符表达式,但是会自己进行计算
print(3+1)

# 将数据输出文件中,注意点:1、所指定的盘符需要存在  2、使用file = fp
fp = open(/Users/bytedance/Downloads/Project/Document/text.txt, a+) # a+ 表示。如果文件不存在就创建,存在就在文件内容的后面继续追加
print(helloword, file=fp)
fp.close()

# 不进行换行输出(输出内容在一行)
print("hello word", "python") # 使用,则会在一行输出

3. 转义字符

print(hello
world)  # 转移功能的首字母  n---表示换行
print(hello	world)  # 制表符
print(hello
world)  #world将hello进行了覆盖
print(helloworld)  #退一格,将o退没了

print(http"\baidu.com)
print(http"\\baidu.com)
print("老师说:大家好")

# 原字符,不希望字符串中的转义字符起作用,就使用原字符,就是在字符串之前加上r或R,注意:最后一个字符不能是反斜杠
print(rhello
world)

4. 变量

4.1 定义和使用

4.2 多次赋值

5. 基本数据类型

不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组); 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。

Python中有六个标准的数据类型:

    Number(数字) String(字符串) List(列表) Tuple(元组) Set(集合) Dictionary(字典)

5.1 数字(补充)

print("二进制", 0b1110110) # 128
f1 = True
f2 = False
print(f1, type(f1)) # True <class bool>
print(f2, type(f2)) # False <class bool>
# 布尔值可以转为整数
print(f1+1) #2
print(f2+1) #1

5.2 基本数据类型转换(补充)

5.3 遍历元素(补充)

大体方法:

    for循环遍历 enumerate()使用内置的枚举函数 使用迭代器iter()迭代器

6. input()函数

present = input("大圣想要什么礼物?")
print(present)
# 从键盘区录入整数,计算两个整数的和
a = input("请输入一个整数:")
b = input("请输入另一个整数:")
print(a + b)

a = input("请输入一个整数:")
a = int(a)
b = input("请输入一个整数:")
b = int(b)
print(a + b)

7. 运算符

    算数运算符 比较(关系)运算符 赋值运算符 逻辑运算符 位运算符 成员运算符 身份运算符

8. 流程控制

任何复杂的算法都可以由:顺序结构;选择结构;循环结构这三种基本结构组合。

8.1 对象的布尔值

python中一切皆对象。。

# 测试对象的布尔值
print(bool(False))  # False
print(bool(0)) # False
print(bool(0.0)) # False
print(bool(None)) # False
print(bool()) # 空字符串 # False
print(bool("")) # 空字符串 # False
print(bool([])) # 空列表 # False
print(bool(list())) # 空列表 # False
print(bool(())) # 空元组 # False
print(bool(tuple())) # 空元组 # False
print(bool({
          
   })) # 空字典 # False
print(bool(dict())) # 空字典 # False
print(bool(set())) # 空集合 # False
# 以上对象的bool值为False,剩下其他对象的布尔值均为True

8.2 选择结构if

if 条件表达式:    # 注意冒号
   语句1          # 注意缩进
else:
   语句1

多分支

if 条件表达式:
   语句1 
elif 条件表达式:
   语句1
else:
   语句1

8.3 循环结构:for和while

for 变量 in 序列:
    语句1
for name in [zhangsan,lisi,wangwu]:
    print(name)
# 从1打印到10
for i in range(1,11):
    print(i)
while 条件表达式:
      语句1

8.4 循环关键字break ,continue ,pass

    break :无条件结束整个循环,简称循环猝死 continei: 无条件结束本次循环,重新进入下一轮循环 pass:表示略过,通常用于占位

8.5 range()函数

9. 函数

9.1函数的创建和调用

函数就是执行特定任务和以完成特定功能的一段代码。

def 函数名(参数列表):   # 注意冒号
    函数体
    return # 可有可无
    函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。 函数内容以冒号起始,并且缩进。 return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。 ![在这里插入图片描述](https://img-blog.img.cn/e28c d63de96b48dfbed4add64e21186f.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzM4NDI1Nw==,size_16,color_FFFFFF,t_70)

9.2 函数的参数传递

    可变对象和不可变对象 形参和实参 位置实参;关键字实参 位置实参:根据形参对应的位置进行实参传递 关键字实参:根据形参名称进行实参传递 默认值形参;关键字形参;个数可变的位置形参;个数可变的关键字形参

9.3 函数的参数传递内存分析

主要考虑可变对象和不可变对象。

    不可变类型:类似 c++ 的值传递,如 整数、字符串、元组。如fun(a),传递的只是a的值,没有影响a对象本身。比如在 fun(a)内部修改 a 的值,只是修改另一个复制的对象,不会影响 a 本身。 实际上是将实际参数值的副本(复制品)传入函数,而函数本身不受影响,传入函数的是复制品,不管在函数中对这个复制品如何操作,实际的数值本身不会受到任何影响。 如果非要修改不可变对象的值,可以考虑使用return进行修改。 可变类型:类似 c++ 的引用传递,如 列表,字典。如 fun(la),则是将 la 真正的传过去,修改后fun外部的la也会受影响. 传递的则是将本身传递过去,函数内部对值进行了修改,则外部也会受到影响。 结果:n1=11;n2=[22,33,44,10]

9.4 函数的返回值

    如果函数没有返回值(函数执行完毕后,不需要给调用出提供数据),return可以省略不写 函数的返回值,如果是1个,直接返回类型 函数返回多个值时,结果为元组 函数在定义时,是否需要返回值,试情况而定

9.5 变量的作用域

    局部变量:在函数内定义并使用的变量,只在函数内部有效。局部变量使用global声明,这个变量就会变成全局变量。 全局变量:函数外定义的变量,可作用于函数内外。
def fun(a, b):
    c = a+b  # c:局部变量,因为c在是函数体内进行定义的变量。a,b为函数的形参,作用范围也是函数内部,相当于局部变量。
    print(c)
print(c) # 报错,应为a,c超出了作用的范围(超出了作用域)
print(a) # 报错,应为a,c超出了作用的范围(超出了作用域)

name = "你好"  # name的作用范围为函数内部和外部都可以使用--->称为全局变量
def fun2():  # 无报错
    print(name)  # 无报错
fun2() # 调用函数

def fun3():
    global age #函数内部定义的变量,局部变量,局部变量使用global声明,这个变量实际上就变成了全局变量
    age=20
    print(age)
fun3()
print(age) # 不报错,因为函数中用了global
经验分享 程序员 微信小程序 职场和发展