跳至主要內容

01-python第一课

黑静美...大约 13 分钟编程python

来个传统

print "hello word"

Python中的变量

变量就是在内存中开辟空间。

每个变量用的是同一块内存空间,所以新一次改变变量(如:赋值),变量旧的属性被覆盖(新的值取代旧的值)。

x = 1  # 1赋值给了x,x代表1
x = x + 10 # x+10等价于 1+10,最后得出11,11赋值给x
# 也就是说11 覆盖了 1
print(x)  # 打印x 结果:11
# 用来注释(注意井号后面有空格)

井号 # 用来注释,解释某一行代码的功能和作用

代码的运行逻辑:

从上到下,从右到左,最后才是赋值

也可以通过变量把一个变量的值直接赋给另一个变量

name1 = "lilei"
name2 = name1
print(name1)
print(name2)

1.输出print

print()

1.同时输出变量

python支持同一命令同时输出变量,默认以空格(占位字符)输出变量

a = 1
b = 2
c = 3
print(a, b, c)
  • 使用sep = 更改间隔的内容
a = 1
b = 2
c = 3
print(a,b,c, sep = "间隔")

不同行的print默认输出换行

print(a)
print(b)
print(c)
  • 使用end = 改变换行内容
print(a, end = "结束")
print(b, end = "结束")
print(c, end = "结束")
  • end 可以和sep同时使用
a = 1
b = 2
c = 3
print(a, b, c, sep="~", end="love Python")

输出结果将没有换行,如有需要添加peint()换行

2. 变量

1. 赋值方式

  • 变量基本赋值方式如上,将右边的值赋给左边

  • 变量也可以同时赋值

a, b, c = 1, 2, 3
print(a, b, c)
  • 同时赋同一个值
a = b = c = 1
print(a, b, c)
  • python特色 交换值
Austin = "Coke" # 该赋值可以理解为倒果汁的过程
Jaden = "juice" # 该赋值可以理解为倒果汁的过程 
Austin, Jaden = Jaden, Austin  #先右边取值,先认定杯子
 # 直接交换杯子(赋值),这样就不需要一个新杯子换果汁了
print("Austin", Austin)       
print("Jaden", Jaden)

2. 变量的命名规则

  • 大小写英文、数字和_下划线的结合,且不能用数字开头; 【数字开头报错1】
    • 不能包含空格,请用下划线代替 【报错2】
  • Python中变量名区分大小写
  • **系统关键词**不能做变量名使用「获取关键词列表:help('keywords')」【报错类型3】
  • 不要使用Python内置函数名称做变量(如:print) 【4】
Here is a list of the Python keywords.  Enter any keyword to get more help.

False               break               for                 not
None                class               from                or
True                continue            global              pass
__peg_parser__      def                 if                  raise
and                 del                 import              return
as                  elif                in                  try
assert              else                is                  while
async               except              lambda              with
await               finally             nonlocal            yield

:::tab

@tab【报错1】

1n = 1

@tab 【报错2】

n n = 1

@tab 【报错3】

await = 1

@tab 【4】

没报错。但是不能运行

print = 1
print(print)

:::

3. 数据类型

python不需要要求申明数据类型,会根据值自动分配一个默认的数据类型

布尔型 boolean
关键词: bool()
数字型 integer
整型:int()
浮点型:float()
字符串 String
关键词:str()
元组 Tuple
关键词:tuple()
列表 list
关键词:list()
字典 dictionary
关键词:dict()
集合 set
关键词:set()

如果想要知道数据被分配了哪种类型,请使用type()

type

a. 数字型「int、float」「bool」

  1. 整形
int_num = 1
t = type(int_num)
print(int_num)
print("int num type is>>>",t)
print("直接检测数据类型并输出:",type(int_num))
  1. 浮点数
float_num = 1
t = type(int_num)
print(int_num)
print("int num type is>>>",t)
print("直接检测数据类型并输出:",type(int_num))
  1. 布尔型 「bool」
condition= True 
t = type(condition)
print(condition)
print("int num type is>>>",t)
print("直接检测数据类型并输出>>>",type(condition))

b. 字符串「str」

string = "Hello llohe"
t = type(string)
print(string)
print("int num type is>>>",string)
print("直接检测数据类型并输出>>>",type(string))
特性
  1. 有序性

    1. 从左到右。下标为0开始,到n
    2. 从右到左。下标从-1开始,到-n
    3. 引号里出现的,都算一个下标
  2. 不可变性

    1. 字符串被创建出来后,就不能被改变
    2. 注意⚠️:我们说的,是在运行过程中,不能对字符串有修改、增加、删除的操作
  3. 任意字符

    1. 键盘⌨️上可以输入的任何字符,都是字符串的元素
    2. 字符放到字符串中,都将成为字符串类型。「也就是:里面的每一个元素都可以称为子字符」

c. 列表「list」

lst = ("Hallo", "lloha",1, 1.1, ("look","book",11),[12,"汉堡包", True, False])
t = type(lst)
print(lst)
print("int num type is>>>",t)
print("直接检测数据类型并输出>>>",type(lst))
特性
  1. 有序性

    1. 从左到右。下标为0开始

    2. 从右到左。下标从-1开始

    3. 列表中每一个元素算一个下标

      比如:

      1. Ha1lo整体是下标0,lloha是下标1
      2. ("look","book",11) 整体是下标4
  2. 可变性

    1. 程序在运行过程中,列表可以被「添加、删除、修改」
  3. 任意数据类型

    python所有的数据类型

d. 元组「tuple」

tup = ("Hallo", "lloha",1, 1.1, ("look","book",11),[12,"汉堡包"], True, False)
t = type(tup)
print(tup)
print("int num type is>>>",t)
print("直接检测数据类型并输出>>>",type(tup))
image-20240426162514876
image-20240426162514876
特性
  1. 有序性

    1. 从左到右。下标为0开始

    2. 从右到左。下标从-1开始

    3. 列表中每一个元素算一个下标

      比如:

      1. Ha1lo整体是下标0,lloha是下标1
      2. ("look","book",11) 整体是下标4
  2. 不可变性

    1. 与其他不可变类型不同,元组中可以插入可变的列表
  3. 任意数据类型


探究「列表与元组」

提示

列表和元组的关键区别在于数据是否可变

  1. 如果数据类型是可变的,比如社交平台的日记功能,统计一个用户在一周内看了哪些用户的帖子——则用列表更为合适
  2. 如果如果存储的数据和数量不变,比如有一个软件,需要放回的是某一地点的经纬度,然后直接传输给用户看——则元组更为合适
  • 假设

    • 假设1:现在有一个仓库,你要向仓库添加物品。仓库很大,现有的物品也很多,你不知道还有没有位置可以存放。此时我们是不是需要聘请一个仓库管理员,这样我们就可以直接问仓库管理员:里面还有哪个位置(是否有位置?)仓库管理员会告诉你,并且你可以直接把你的物品,添加进去。

      问题来了,仓库管理员为什么知道仓库是否有位置?——因为仓库管理员会一直跟踪这个仓库的状态;

    • 假设2:现在有一个原子弹的仓库,仓库创建之后,只能存放一个原子弹。那么,我们需要设立一个专门的人员跟踪:原子弹仓库的状态吗?——不需要,此时在聘请一个就显得浪费了。(不然,领导没油水了~hhhhh)

  • Why?

    • 用户日志📔,是不是会一直变动(记录📝看了哪些帖子),我们是不是需要有一个类似仓库管理员的“人”,来跟踪并且知道:是否有位置(是否有空间/内存),还需要知道在哪里添加。——列表更合适,因为列表可变。「可变意味着:添加、删除、修改」
      • 元组为什么不合适?——因为,你每当需要添加数据的时候,就得重新创建一个新的元组。(就类似于:你创建原子弹的仓库,肯定是刚刚好可以存放一个,那么你想存放两个的时候,只能重新再创建一个仓库。)
    • 经纬度会改变吗?显然是不会的,那么就不需要一个多余的“人”去跟踪状态。——用列表可以吗?可以!但是没必要。「因为我们不需要仓库管理员」用列表有点浪费资源了。元组的功能刚刚好够用。
    • 我们讲究:不浪费,合适就好。

e. 字典「dict」

d = {"name":"aiyc","age":18,1:"int",1.1:1,"tup":(123)}
t = type(d)
print(d)
print("d types is:>>>",t)
print("直接检测数据类型,并输出:>>>",type(d))
特性
  1. 无序性[python 3.6+ 之后有序]

    1. 先以无序性理解即可;

    2. 有些前期基本用不到;

  2. 字典的组成:是由一系列的key和value组成。d = {"key1": “value1“,“key2“:"value2".....}

  3. Key:

    1. 不可变的数据类型,才可以当作字典key;
    2. 比如:字符串、数字、布尔、元组;
  4. value: 任意数据类型,Python所拥有的数据类型;

  5. 可变性:可以添加、修改、删除键对值;

f.集合「set」

set1={1,2,"aiyc",1.1,"book",(1,2,3),False}
t = type(set1)
print(set1)
print("set1 type is>>>",t)
print("直接检测数据类型并输出>>>",type(set1))

#output {False, 1, 2, 1.1, 'book', (1, 2, 3), 'aiyc'}
特性
  1. 无序性

    集合是没有顺序的,也就是没有下标

    output的顺序可能和input不同

  2. 不可变性,确定性

set1 ={1,2,[1,2,3]}
#list is unhashable.
# output
# Traceback (most recent call last):
# File "/Module2/code5-7det.py", line 8, in <module>
#     set1 ={1,2,[1,2,3]}
# TypeError: unhashable type: 'list'

在其中插入可变参数会报错

  1. 去重性
set1 = {1, 2, 1, 1, 2, 1, 1}
print(set1)
直接检测数据类型并输出>>> <class 'set'>
{1, 2}
  1. 可更改性

5. 练习

  1. 在 Python 中,变量名可以以数字开始。
    • [ ] 对
    • [x] 错
  2. 在 Python 中,以下哪个变量名是有效的?
    • [ ] 2myVar
    • [x] myVar2
    • [ ] my-var
    • [ ] my var
  3. 在 Python 中,变量名区分大小写。
    • [x] 对
    • [ ] 错
  4. 在 Python 中,my_varmyVar 是同一个变量。
    • [ ] 对
    • [x] 错
  5. 变量名可以是 Python 中的关键字。
    • [ ] 对
    • [x] 错
  6. None 是 Python 中的特殊类型,表示没有值或空值。
    • [x] 对
    • [ ] 错
  7. 在 Python 中,以下哪个是有效的变量赋值?
    • [ ] 123abc = "hello"
    • [ ] for = "world"
    • [x] _hidden = "secret"
    • [ ] import = 123
  8. 在 Python 中,一个变量可以同时被赋予多个值。
    • [ ] 对
    • [x] 错
  9. 在 Python 中,以下哪个是多变量赋值?
    • [x] a, b, c = 1, 2, 3
    • [ ] a = 1, b = 2, c = 3
    • [ ] a; b; c = 1; 2; 3
    • [ ] a = 1; b = 2; c = 3;
  10. 变量在使用之前必须被赋值。
    • [x] 对
    • [ ] 错
  11. Python 中变量的类型是静态的,一旦赋值就不能改变。
    • [ ] 对
    • [x] 错
  12. 在 Python 中,以下哪个表示全局变量?
    • [ ] var = "hello"
    • [x] global var
    • [ ] var(global)
    • [ ] def var():
  13. 以下哪个表示删除变量?
    • [ ] delete x
    • [x] del x
    • [ ] remove x
    • [ ] destroy x
  14. x = 5 之后 y = x,现在改变 y 的值,x 的值也会改变。
    • [ ] 对
    • [x] 错
  15. ⚠️x = [1, 2, 3] 之后 y = x,现在改变 y 的列表内容,x 的内容也会改变。
    • [x] 对
    • [ ] 错
  16. 在 Python 中,变量只能存储基本数据类型的值,如整数或字符串。
    • [ ] 对
    • [x] 错

第二题

  1. Python 变量的命名规则中,以下哪一项是错误的?
  • [ ] a) 变量名可以由字母、数字和下划线组成
  • [ ] b) 变量名不能以数字开头
  • [x] c) 变量名可以以特殊字符,如@或#,开头
  • [ ] d) 变量名可以包含大写和小写字母
  1. 在 Python 中,如何使用 print 函数打印字符串 "Hello, World!"?
  • [ ] a) print "Hello, World!"
  • [x] b) print("Hello, World!")
  • [ ] c) echo("Hello, World!")
  • [ ] d) print[Hello, World!]
  1. print 函数中的 end 参数用于什么?
  • [ ] a) 确定是否结束程序
  • [x] b) 在输出的末尾添加指定字符
  • [ ] c) 控制输出的数量
  • [ ] d) 确定输出的顺序
  1. 在 print 函数中,用","作为分隔符,应该如何操作?
  • [x] a) 使用参数 sep = ","
  • [ ] b) 使用参数 end = ","
  • [ ] c) 使用参数 print = ","
  • [ ] d) 使用参数 divide = ","
  1. 如果我想在不换行的情况下输出两个变量 a 和 b,以下哪个是正确的?
  • [x] a) print(a, b, end = ' ')
  • [ ] b) print(a, b, sep = ' ')
  • [ ] c) print(a; b)
  • [ ] d) print(a, b, end = '\n')
  1. 在 Python 中,以下哪种方法可以用来删除变量?
  • [ ] a) drop(variable)
  • [ ] b) remove(variable)
  • [x] c) del variable
  • [ ] d) delete variable
  1. 在 Python 中,以下哪个语句是错误的?

    [ ] a) x, y, z = "Orange", "Banana", "Cherry"

    [ ] b) x = y = z = "Orange"

    [x] c) x = "Orange" = y

    [ ] d) x, y = y, x

  2. 在 Python 中,以下哪个声明**不是**合法的变量名?

  • [ ] a) _myvar
  • [ ] b) myVar
  • [x] c) 9var
  • [ ] d) varName9
  1. 下列哪个 print 函数的使用方式是正确的
  • [x] a) print(a, b, c, sep = ' ', end = ' ')
  • [ ] b) print(a b c sep = ' ', end = ' ')
  • [ ] c) print[a, b, c, sep = ' ', end = ' ']
  • [ ] d) print{a, b, c, sep = ' ', end = ' '}
  1. Python 中的哪个函数可以用来获取变量的类型?
  • [ ] a) typeof(variable)
  • [x] b) type(variable)
  • [ ] c) getType(variable)
  • [ ] d) variable.type()

第三题

  1. 在 Python 中,_____ 关键字用于打印一个变量的值。 print

  2. Python 中的变量可以是字符串、整数、浮点数或布尔类型。例如,my_str = "Hello World" 使 my_str 成为一个 _____。 string

  3. 在 Python 中,我们可以通过 _____(my_var) 来打印变量 my_var。 print

  4. 在 Python 中,我们可以使用 my_var = _____ 来创建一个值为 10 的变量 my_var。 10

  5. 如果我们有两个变量 a = 5b = 10,我们可以使用 print(a, _____) 来打印这两个变量的值。 b

  6. 在 Python 中,变量名可以包含字母、数字和下划线,但不能以数字开头。例如,1my_var 是一个无效的变量名,但 _____ 是有效的。

    my_var1 _var1

  7. 如果我有一个整数变量 my_int = 50,我可以通过在打印语句中添加print(_____)来打印 The value of my integer is 50"The value of my integer is",my_int

  8. 在 Python 中,通过使用 _____ 关键字,我们可以将一个变量的值分配给另一个变量。例如,如果 a = 10b = a,那么 b 的值也会变为10。

  9. 在 Python 中,我可以通过编写 my_str = _____ 来创建一个包含字符串 "Hello, Python!" 的变量 my_str。 \"Hello, Python!\"

  10. 如果我有一个浮点型变量 my_float = 5.67,我可以使用 print(___, " is my floating point number") 来打印 "5.67 is my floating point number"。

开放性1题

  1. 打印,输出
  2. 直接声明。Python会根据赋值的类型分配大的类型,该类型下的参数为该类型默认参数(如:<class 'int'>整形,class,指的),可以使用type()查看具体类型
  3. a = b = c =1
  4. a, b, c = 1, 2, 3
  5. print(a, b, c)
  6. #使用井号写注释,注释是面向程序员的,增加程序的可读性,不纳入代码的运行到中
  7. print(a, b, c, sep=„ “)
  8. print(a, b, c, end=„ “) #作用是以什么结尾
  9. 写注释 #

第四题

greeting = "Hello, World!"
print(greeting)

number = 10
copy_number = number
print(number, copy_number)

food = "apple"
food = "banana" #储存的值被替换
print(food)

a, b, c = 1, 2, 3
print(a, b, c, sep="~", end=" ")

name = "Yue"
age = 24
job = "student"
hobby = "sleeping"
print(name, age, job, hobby)

x = y = z = 10
x = 20
y = 30
print(x, y, z)


print(type(x))
id = 1.0
print(type(id))

print(a, " is my floating point number")
my_str = "\"Hello, Python!\""
print(my_str)
上次编辑于:
贡献者: Heijingmei
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v3.1.3