01-python第一课
...大约 6 分钟
0.来个传统
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」
- 整形
int_num = 1
t = type(int_num)
print(int_num)
print("int num type is>>>",t)
print("直接检测数据类型并输出:",type(int_num))
- 浮点数
float_num = 1
t = type(int_num)
print(int_num)
print("int num type is>>>",t)
print("直接检测数据类型并输出:",type(int_num))
- 布尔型 「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))
特性
有序性
- 从左到右。下标为0开始,到n
- 从右到左。下标从-1开始,到-n
- 引号里出现的,都算一个下标
不可变性
- 字符串被创建出来后,就不能被改变
- 注意⚠️:我们说的,是在运行过程中,不能对字符串有修改、增加、删除的操作
任意字符
- 键盘⌨️上可以输入的任何字符,都是字符串的元素
- 字符放到字符串中,都将成为字符串类型。「也就是:里面的每一个元素都可以称为子字符」
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))
特性
有序性
从左到右。下标为0开始
从右到左。下标从-1开始
列表中每一个元素算一个下标
比如:
Ha1lo
整体是下标0,lloha
是下标1("look","book",11)
整体是下标4
可变性
- 程序在运行过程中,列表可以被「添加、删除、修改」
任意数据类型
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))
特性
有序性
从左到右。下标为0开始
从右到左。下标从-1开始
列表中每一个元素算一个下标
比如:
Ha1lo
整体是下标0,lloha
是下标1("look","book",11)
整体是下标4
不可变性
- 与其他不可变类型不同,元组中可以插入可变的列表
任意数据类型
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))
特性
无序性[python 3.6+ 之后有序]
先以无序性理解即可;
有些前期基本用不到;
字典的组成:是由一系列的key和value组成。
d = {"key1": “value1“,“key2“:"value2".....}
Key:
- 不可变的数据类型,才可以当作字典key;
- 比如:字符串、数字、布尔、元组;
value: 任意数据类型,Python所拥有的数据类型;
可变性:可以添加、修改、删除键对值;
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'}
特性
无序性
集合是没有顺序的,也就是没有下标
output
的顺序可能和input
不同不可变性,确定性
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'
在其中插入可变参数会报错
- 去重性
set1 = {1, 2, 1, 1, 2, 1, 1}
print(set1)
直接检测数据类型并输出>>> <class 'set'>
{1, 2}
- 可更改性
Powered by Waline v3.1.3