python01-基础

目录

1.环境搭建相关

1.1 Python

1.1.1 下载安装

1.2 Pycharm

2.编码基础

3.输出

4.初识数据类型

4.1 整型

4.2 字符串类型

4.3 布尔类型

小结

5.类型转换

6.变量

6.1 变量名规范

6.2 变量内存关系

示例1

示例2

示例3

示例4

示例5

示例6

练习题

7.注释

8.输入

9.条件语句

10.循环语句

10.1 while循环

break和continue

10.2 for循环

11.字符串格式化

希望大家做的

1.环境搭建相关

1.1 Python

CPython解释器,底层是用C语言写的,解释执行Python的代码。

  • 根据Python语法规则,编写相关代码。

  • 代码交给解释器去运行。

1.1.1 下载安装

去官方下载:python3.9.0(一定要是Python3.x,最好是3.6)。

切记:要记住你的Python安装在哪里?

C:\python39
    Lib
        ....
        ....
        site-packages
            requests代码
    Scripts
        pip.exe       安装Python第三方模块(包管理器)  pip install requests
        pip3.exe
    python.exe        Python解释器

假设你的自己的电脑F盘下创建 app.py

print("你好呀")

想要运行代码:

  • 打开终端

  • 去运行

    C:\python39\python.exe  F:\code.py
    /Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8 /Users/wupeiqi/PycharmProjects/learn/day01/demo.py

1.2 Pycharm

IDE,集成开发环境。

注意事项:

  • 社区版 vs 专业版(推荐)【2020.1 -> 最新的Python3.10】

  • 不要去汉化

/Users/wupeiqi/PycharmProjects/learn/day01

文件夹一定要分清楚:

  • Python解释器的目录

    C:\python39
  • Python代码存放的目录

    D:\PythonProject\

2.编码基础

  • 计算机底层本质上都是 010101010101010101

       你               好
    ​
    101010101         1010101
  • 编码,文字和二进制的对应关系。

    写文件 UTF-8,   你好      ->   101010101         1010101
    读文件 UTF-8,   你好      <-   101010101         1010101
    ​
    注意:以后你的文件用什么编码保存,就要用什么编码打开。
  • 常见编码

    ascii编码,256 (英文字母、标点符号)
    utf-8编码,中文、英文、韩语。。。。
    gbk/gb2312编码,亚洲。
  • 写代码,要保存起来 -> 选择编码utf-8。 app.py

    print("你好")
  • Python解释器去运行

    xxxxx/xxxx/python解释器   xxxx/xxx/xx/app.py
    ​
    - 打开文件并读取,Python解释器也要用utf-8编码去打开(默认就是utf-8编码去打开所有的代码文件)
    - 解释并执行...

# -*- coding:utf-8 -*-
​
print(123123)

注意:

  • python3.x,解释器默认的编码 utf-8

    print("武沛齐")
  • python2.x,解释器默认的编码ascii(打开文件)

    # -*- coding:utf-8 -*-
    ​
    print("武沛齐")

3.输出

写程序的本质,执行操作,查出结果。

print(888888888888888)
print("欢迎使用10086")
print("你好")
print(77777, end="")
print(77777)
print(8888)

print("*******欢迎使用移动xx系统*******")
​
phone = input("请输入你的手机号:")
code = input("请输入验证码:")
​
if phone == "111" and code == "999":
    print("登录成功")
else:
    print("登录失败")

4.初识数据类型

  • 以前:数字、拼音、成语 --> 写文章 -> 老师批阅

  • 现在:整型、字符串、列表、字典、元组 -> 写代码 -> 计算机运行

4.1 整型

平时生活中说的说的数字,例如:年龄、高低、重量。

199
88
100
100+200
8/2
10*5
print(100)
print(8/2)
print(100+200)
print(10*5)

4.2 字符串类型

平时生活中想要表示文本信息,例如:地址、城市、个人介绍。

"中国移动"
'上海移动公司'
​
"""中国上海移动"""
​
'''移动公司'''
'中国"移动'
"中国'移动"
print("*******欢迎使用移动xx系统*******")
​
print("请输入你要选择的功能,1.xxx;2.xxx;3.xxxx")
print("*******欢迎使用移动xx系统*******")
​
print("""请输入你要选择的功能
1.xxx
2.xxx
3.xxxx
""")

4.3 布尔类型

真假

100 > 10   # True
99 < 10    # False
​
"root" == "123"  # False
100 == 200       # False
print(100 > 10)
print(100 < 10)
if 100 > 10:
    print("真")
else:
    print("家")

小结

  • markdown笔记:标题、代码、图片、表格、文本

  • python解释器目录

    C:\python39
        Lib
            ....
            ....
            site-packages
                requests代码
        Scripts
            pip.exe       安装Python第三方模块(包管理器)  pip install requests
            pip3.exe
        python.exe        Python解释器
  • Pycharm基本使用:代码文件 + 运行

  • 编码

    • 编码存储 + 打开方式

    • python3默认解释器编码utf-8(打开代码文件)

    • utf-8/ascii/gbk

  • 输出

    print("xxxx")
    print("xxxx", end="")
  • 数据类型

    9999
    "xxxx"
    True/False

5.类型转换

  • 整型 int

    999
  • 字符串 str

    "xxxxx"
  • 布尔类型 bool

    True/False

类型转换:

  • 整型 -> 字符串类型

    9999
    str(9999)         ->  "9999"
  • 字符串 -> 整型

    "123"
    int("123")       -> 123
  • 布尔类型

    bool(123)   # True
    bool(0)     # False
    bool(-10)   # True
    ​
    bool("你好") # True
    bool("")    # False
    bool(" ")    # True
    bool("0000") # True
    ​
    --> 0  ""   -> 布尔值 False,其他均为True
    if 条件:
        # 成立,走这里的代码
        ...
    else:
        # 不成立....
    if "":
        # 成立,走这里的代码
        ...
    else:
        # 不成立....

练习题:

8 + 2 
"中国" + "上海移动"   -> "中国上海移动"
"100" + "200"       -> "100200"
print(  int("100") + 100  )       # 200
print(  int("100") * 5  )         # 500
print(  int("100") * int("2")  )  # 200
print(  str(100) + str(123)  )  # "100123"

练习题:

print( int("100")*3 )
print( int("123") + int("88") )
print( str(111) + str(222) )  # "111222"
print( int("8") > 7 ) # True
print( str(111) == 111 ) # "111" == 111  False
print( bool(-1) ) # True
print( bool(0) ) # False
print( bool("") ) # False
print( bool("你好") ) # True
print( True == True)  # True
print( True == False) # False
print( bool("") == bool(0) ) # False==False  -> True

6.变量

变量理解称为昵称。

变量名 = 值
n1 = "李光照"
x1 = 2022
m9 = True
print("中华人民共和国2022年")
print("中华人民共和国2022年")
print("中华人民共和国2022年")
print("中华人民共和国2022年")
print("中华人民共和国2022年")
​
data = "中华人民共和国2022年"
print(data)
print(data)
print(data)
print(data)
print(data)
age = 18
name = "武沛齐"
address = "中国北京昌平区"
​
info = address + name
print(info)  # "中国北京昌平区" + "武沛齐"  -> "中国北京昌平区武沛齐"
​
new_age = age + 2
print(new_age) # 20

易错点:

  • 关于等号

    number = 1 == 2     # number = False
  • 关于变量的赋值

    age = 18
    age = 20
    print(age)
    age = 18
    age = age + 20  # 18 + 20 ==> 38
    print(age) # 38

6.1 变量名规范

name = "武沛齐"

三大原则:

  • 变量名中只能包含:字母、数字、下划线

  • 数字不能开头

    a1 = 123
    a_ = 9
    _ = 100
    9a = 123  # 错误
    99 = "xx" # 错误
  • 不能是Python内置的关键字

    def = 123   # 错误
    pass = 999  # 错误
    *[‘and’, ‘as’, ‘assert’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’, ‘elif’, ‘else’, ‘except’, ‘exec’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘not’, ‘or’, ‘pass’, ‘print’, ‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’]*

练习题

name = "吉诺比利"
name0 = "帕克"
name_1 = "邓肯"
_coach = "波波维奇"
_ = "卡哇伊"
1_year = "1990"     # 错误
year_1_ = "1990"
_1_year = "1990"
nba-team = "马刺"    # 错误
new*name = "伦纳德"  # 错误

变量的2条建议(可遵守、可不遵守):

  • 下划线连接多个单词

    city_number = 10000
  • 见名知意

    a = 123
    b = 345
    c = a + b
    age = 18
    size = 100
    result = age * size
    print(result) # 不要用拼音

6.2 变量内存关系

示例1
name = "wupeiqi"

在计算机的内存中创建一块区域保存字符串”wupeiqi”,name变量名则指向这块区域。

示例2
name = "wupeiqi"
name = "alex"

在计算机的内存中创建一块区域保存字符串”wupeiqi”,name变量名则指向这块区域。然后又再内存中创建了一块域保存字符串”alex”,name变量名则指向”alex”所在的区域,不再指向”wupeiqi”所在区域(无人指向的数据会被标记为垃圾,由解释器自动化回收)

示例3
name = "wupeiqi"
new_name = name

在计算机的内存中创建一块区域保存字符串”wupeiqi”,name变量名则指向这块区域。new_name变量名指向name变量,因为被指向的是变量名,所以自动会转指向到name变量代表的内存区域。

示例4
name = "武沛齐"
new_name = "武沛齐"

示例5
name = "wupeiqi"
new_name = name
​
name = "alex"

在计算机的内存中创建一块区域保存字符串”wupeiqi”,name变量名则指向这块区域(灰色线), 然后new_name指向name所指向的内存区域,最后又创建了一块区域存放”alex”,让name变量指向”alex”所在区域.

示例6
num = 18
age = str(num)

在计算机的内存中创建一块区域保存整型18,name变量名则指向这块区域。通过类型转换依据整型18再在内存中创建一个字符串”18”, age变量指向保存这个字符串的内存区域。

至此,关于变量的内存相关的说明已讲完,由于大家都是初学者,关于变量的内存管理目前只需了解以上知识点即可,更多关于内存管理、垃圾回收、驻留机制等问题在后面的课程中会讲解。

练习题
  1. 看代码结果

    alex_length = 3
    wupeiqi_length = 18
    total = alex_length + wupeiqi_length
    print(total)
  2. 看代码写结果

    nickname = "一米八大高个"
    username = nickname
    ​
    username = "弟弟"
    print(nickname)
    print(username)
  3. 看代码写结果

    nickname = "一米八大高个"
    username = nickname
    nickname = "弟弟"
    ​
    print(nickname)
    print(username)
  4. 看代码写结果

    nickname = "一米八大高个"
    username = "弟弟"
    text = username + nickname
    print(text)
  5. 看代码写结果

    nickname = "一米八大高个"
    username = nickname
    ​
    nickname = "弟弟"
    text = username + nickname
    print(text)
  6. 看代码写结果

    string_number = "20"
    num = int(string_number) # 20
    ​
    data = string_number * 3  # "20" * 3 -> "202020"
    print(data) 
    ​
    value = num * 3  # 20 * 3
    print(value) 
    data = "#" * 10    #    "########"

7.注释

  • 单行注释

    # 输出一个结果
    print(123)
    print(123) # 输出一个结果
    ​
    注意:快捷点 command + ?  、   control + ?
  • 多行注释,字符串的多行文本重合

    text = """你好呀
    阿斯顿发士大夫
    阿斯蒂芬阿萨德f
    ​
    ​
    """
    你好呀
    阿斯顿发士大夫
    阿斯蒂芬阿萨德f
    """
    print(11111)

# 提示用户输入文本A
v1 = input(">>>")
​
# 提示用户输入文本B
v2 = input(">>>")
​
"""
下面的代码是干xxx是的
1.休息休息
2.反反复复
3.谢新雪
"""
result = v1 + v2
print(result)

扩展:TODO

v1 = 100
​
# TODO 下一期我会补充上xxx功能
v2 = 200
result = v1 + v2
print(result)

8.输入

我们需要用户输入内容,才能继续向后走。

name = input("请输入用户名:")  # "root"
age = input(">>>")  # "18"
​
text = name + age  # "root18"
print(text)

示例1

name = input("姓名:")
addr = input("位置:")
action = input("行为:")
​
text = name + "在" + addr + action
print(text)

示例2

n1 = input("请输入一个数字:")  # 11
n2 = input("请输入一个数字:")  # 22
​
value = n1 + n2
print(value) # "1122"

示例3

n1 = input("请输入一个数字:")  # 11
n2 = input("请输入一个数字:")  # 22
​
value = int(n1) + int(n2)
print(value) # 33

特殊情况:

v1 = int("999")     # 999
v2 = int("asdf")    # 报错

9.条件语句

if(条件){
    条件成立,执行此处代码
}else{
    不成立,执行此处代码
}
if 条件 :
    print(123)
    print(456)
    print(456)
else:
    print(1)
    print(2)
number = 20
​
if number > 19:
    print("小伙子")
    print("年轻人")
else:
    print("小屁孩")

示例1:

print("开始")
if True:
    print(123)
else:
    print(456)
print("结束")

# 输出结果
开始
123
结束

示例2

print("开始")
if 1==1:
    print(123)
else:
    print(456)
print("结束")

# 输出结果
开始
123
结束

示例3

print("开始")
num = 100
if num < 90:
    print(123)
else:
    print(456)
	print("结束")
print("结束")
# 输出结果?
开始
456
结束
结束

示例4

username = "wupeiqi"
password = "666"
if username == "wupeiqi" and password == "666":
	print("恭喜你,登录成功")
else:
	print("登录失败")
print("*********欢迎使用**********")
username = input("请输入用户名:")
password = input("请输入密码:")
if username == "wupeiqi" and password == "666":
	print("恭喜你,登录成功")
else:
	print("登录失败")
print("程序结束")

示例5

username = input("请输入用户名:")
if username == "wupeiqi" or username == "刘光照":
	print("VIP用户")
else:
	print("普通用户")

示例6

奇数和偶数
div = 10%2   # 获取余数
number = input("请输入数字:")

div = int(number) % 2
if div == 1:
    print("奇数")
else:
    print("偶数")

示例7:

if 条件:
    pass
else:
    pass
print("开始")
if 1<2:
    print(666)
print("结束")

练习题:

  • 提示用户输入用户名和密码,用户名等于"root"且密码等于"qwe123"就输出登录成功;否则输出登录失败。

    user = input("请输入用户名:")
    pwd = input("请输入密码:")
    
    if user == "root" and pwd == "qwe123":
        print("成功")
    else:
        print("失败")
  • 猜数字,提示用户输入一个数字,判断数字如果大于10,输出:大了; 小于10,输出小了。

    number = input("请输入数字:")  # 8
    
    if int(number) > 10:
        print("大了")
    
    if int(number) < 10:
        print("小了")
  • 猜数字,提示用户输入一个数字,判断数字如果大于10,输出:大了; 小于10,输出小了;等于10,正确

    if 条件A:
    	pass
    elif 条件B:
    	pass
    elif 条件C:
    	pass
    else:
    	pass
    number = input("请输入数字:")  # 8
    
    new_num = int(number)
    
    if new_num > 10:
        print("大了")
    elif new_num < 10:
        print("小了")
    else:
        print("正确")

条件语句的嵌套

if 条件:
    if 条件:
        ...
    else:
        ...
elif 条件:
    ...
else:
    ...

print("欢迎致电10086,我们提供了如下服务: 1.话费相关;2.业务办理;3.人工服务")

choice = input("请选择服务序号:") # "1"

if choice == "1":
    print("话费相关业务")
    cost = input("查询话费请按1;交话费请按2")
    if cost == "1":
        print("查询话费余额为100")
    elif cost == "2":
        print("交互费")
    else:
        print("输入错误")
elif choice == "2":
    print("业务办理")
elif choice == "3":
    print("人工服务")
else:
    print("序号输入错误")

注意:3层以内解决你的业务问题(其他解决方案)。

10.循环语句

  • while循环

  • for循环

10.1 while循环

while 条件:
	print(123)
print("开始")
while True:
    print("欢迎使用10086")
print("结束")

# 结果
开始
欢迎使用10086
欢迎使用10086
欢迎使用10086
欢迎使用10086
..

print("开始")
while 1 > 2:
    print("欢迎使用10086")
print("结束")

# 结果
开始
结束

status = True

print("开始")
while status:
    print("欢迎使用10086")
print("结束")

# 结果
开始
欢迎使用10086
欢迎使用10086
欢迎使用10086
...

status = True
...
status = False
status = True
print("开始")
while status:
    print("欢迎使用10086")
    status = False
print("结束")

# 结果
开始
欢迎使用10086
结束

num = 1
num = num + 1
print(num) # 2

num = num + 1
print(num) # 3

num = num + 1
print(num) # 4
num = 1
while num < 5:
    print("中国移动")
    num = num + 1
    
# 结果
中国移动
中国移动
中国移动
中国移动

练习题:

  • 猜数字,一直猜直到猜正确为止。。

    number = 66
    status = True
    while status:
        str_num = input("请输入数字:")
        num = int(str_num)
        if num == number:
            print("猜对了")
            status = False
  • 用户登录 & 用户认证(一直输入)

    print("开始")
    status = True
    while status:
        user = input(">>>")
        pwd = input(">>>")
        if user == "root" and pwd == "123":
            print("登录成功")
            status = False
        else:
            print("登录失败,请重试")
    print("结束")
  • 用户登录 & 用户认证(重试3次)

    counter = 0
    while counter < 3:
        user = input(">>>")
        pwd = input(">>>")
        if user == "root" and pwd == "123":
            print("登录成功")
            counter = 1000
        else:
            print("登录失败,请重试")
            counter = counter + 1

break和continue

print("开始")
while True:
    print(1)
    break
	print(2)
print("结束")

# 结果:
开始
1
结束

猜年龄,直到正确位置:

while True:
    str_age = input("请输入年龄:")
    age = int(str_age)
    if age == 35:
        print("猜对了")
        break

print("开始")
while True:
    print(1)
    continue
	print(2)
print("结束")

# 结果
开始
1
1
1
1
...

10.2 for循环

name = "中国移动公司"
for item in name:
    print(item)
    
# 结果
中
国
移
动
公
司
data_list = ["李泉","王毅","alex"]
for item in data_list:
    print(item)
# 结果
李泉
王毅
alex

另外一类for循环 + range结合使用。

v1 = range(5)     # [0,1,2,3,4]
v2 = range(1,5)   # [1,2,3,4]
for item in range(5): # [0,1,2,3,4]
	pass

for item in range(3): # [0,1,2,]
	pass

for item in range(6): # [0,1,2,3,4,5]
	pass

v1 = range(0,5,2)     # [0,2,4]
for item in range(0,5,2): # [0,2,4]
	pass

v1 = range(10,0,-1)     # [10,9,8....2,1]
v1 = range(5,-1,-1)     # [5,4,3,2,1,0]
for ele in range(5,-1,-1):
	print(ele)

for循环也支持continue和break

for item in range(10): # [0,1,2..9]
	print(item)
	break
for item in range(10): # [0,1,2..9]
    print(1)
	continue
	print(item)

11.字符串格式化

想要让多个值拼接出来一个内容,用字符串格式化就会比较方便。

text = "我是" + "武沛齐" + "年龄99"
name = "李泉"
age = 18
city = "上海"

text = "姓名" + name + "今年" + str(age) + "岁,现在在" + city + "工作"
  • %s

  • format(推荐)

  • f-string

name = "李泉"
age = 18
city = "上海"

# text = "姓名" + name + "今年" + str(age) + "岁,现在在" + city + "工作"
text = "姓名{0}今年{1}岁,现在在{2}工作 ---- {0}".format(name,age,city)
print(text)

text = "姓名{}今年{}岁,现在在{}工作 ---- {}".format(name,age,city,name)
print(text)

text = "姓名{n1}今年{n2}岁,现在在{nn}工作 ---- {xo}".format(xo=name,n1=name,nn=city,n2=age,)
print(text)

希望大家做的

  • 根据笔记,自己复习 & 实现案例

  • 写一套自己的笔记(查阅)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值