【Python】基础入门(持续更新)

目录

 

Python基础

1. 变量

2. 语句

3. 列表

4. 元组

5. 字典

6. 函数

n. 强调

空列表、空元组不为None

 python 中,类型属于对象,变量是没有类型的

总结


 

Python基础

1. 变量

  • 变量赋值不需要类型声明

a = 1

  • 允许同时为多个变量赋值

a = b = c = 1

  • 为多个对象指定多个变量

a, b, c = 1, 2, 'john'

  • 删除

del a,b

  • 运算符

** 幂(a**b 即 a的b次幂)

// 取整除(返回商的整数部分)

in 包含在内(a in list 即 变量a在list中)

not in 不包含在内(a not in list 即 变量a不在list中)

is 有相同标识

is not 没有相同标识

代码样例:

a = 'hello world'
if 'or' in a:
    print("a contain 'or'")

2. 语句

  • input

Python2

a = raw_input()    输入自动转化为字符串类型

a = input()            a的类型与输入类型一致

Python3

a = input()            输入自动转化为字符串类型

  • print区别

Python2    print a

Python3    print(a)

以上输出自动换行,如下为输出不换行:

Python2    print a,

Python3    print(a, end='')

字符串的输出:

print("My name is %s and weight is %d kg!" % ('Zara', 21))

My name is Zara and weight is 21 kg!

  • 注释

# 注释一行

``` 注释多行

  • 条件语句

代码样例:

a = 0
if a == 3:
    print('a')
elif 1 < a < 10 or a == 0:
    print('b')
else:
    print('c')
  • 循环语句

while循环代码样例:

count = 0
while count < 5:
   count = count + 1
else:
   print(count, " is not less than 5")

for循环代码样例:

for num in range(10, 15):
    print('a')
else:
    print('b')

Python中没有do...while循环

注意事项:

1)while和for中,else语句会在循环正常执行完执行

2)while循环和for循环可以嵌套

3)range(start, stop, step) 从start(默认是0)开始到stop(必须有)结束,但不包括stop,步长为step(默认是1)

range(0, 10, 3)即[0, 3, 6, 9]

  • break、continue、pass

break 跳出最小封闭for或while循环

continue 跳过当前循环的剩余语句,继续下一轮循环

pass 不做任何事情,为了保持程序结构的完整性

3. 列表

  • 列表的数据项不需要具有相同的类型,形如

['physics', 'chemistry', 1997, 2000]

  • [头下表:尾下表]截取相应的字符串或列表(字符串、元组同理)

从左到右索引默认0开始的,最大范围是字符串长度少1

从右到左索引默认-1开始的,最大范围是字符串开头

 A    B    C    D

 0    1     2     3

-4   -3    -2    -1

从头取到尾,但不包括尾。没有尾则默认取到结尾

代码样例:

a = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
print(a[1:5])
print(a[4:])
print(a[:2])

运行结果:

['b', 'c', 'd', 'e']

['e', 'f', 'g']

  • 添加元素

尾部添加    a.append(element)

在index+1添加元素    a.insert(index, element)

  • 删除元素

删除元素    del a[index]

删除尾部数据    a.pop(index)

删除第一个指定的值    a.remove(value)

4. 元组

  • 元组中只包含一个元素时,需要在元素后面添加逗号

a = ('a', )

  • 元组与列表相似,但元组的元素不能修改
  • 若元组中包含列表,则列表中的元素可更改

样例代码:

a = ('a', 'b', ['c', 'd'], 'e', 'f', 'g')
print(a)
a[2][1] = 'z'
print(a)

运行结果:

('a', 'b', ['c', 'd'], 'e', 'f', 'g')
('a', 'b', ['c', 'z'], 'e', 'f', 'g')

5. 字典

  • 键值对

d = {key1: value1,key2: value2}

  • 值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组
  • 不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住

代码样例:

a = dict()
a['name'] = 'aaa'
a['age'] = 12
for key, value in a.items():
    print(key, ':', value)
print(a)
del a['age']
print(a)

运行结果:

name : aaa
age : 12
{'name': 'aaa', 'age': 12}
{'name': 'aaa'}

6. 函数

  • 参数传递

不可变类型:变量赋值 a=5 后再赋值 a=10,这里实际是新生成一个 int 值对象 10,再让 a 指向它,而 5 被丢弃,不是改变a的值,相当于新生成了a(如 整数、字符串、元组)

可变类型:变量赋值 a=[1,2,3,4] 后再赋值 a[2]=5 则是将a的第三个元素值更改,本身a没有动,只是其内部的一部分值被修改了(如 列表、字典)

代码样例 1:

def ChangeInt(b):
    b = 10
b = 2
ChangeInt(b)
print(b)

运行结果:

2

代码样例 2:

def change(list):
    list.append([1, 2, 3, 4])
    print("函数内取值: ", list)
    return
list = [10, 20, 30]
change(list)
print("函数外取值: ", list)

运行结果:

函数内取值:  [10, 20, 30, [1, 2, 3, 4]]
函数外取值:  [10, 20, 30, [1, 2, 3, 4]]

  • 元素或列表和字典传递参数

代码样例:

def f(a=0, *args, **kw):
    print(a)
    print(args)
    print(kw)
a = [1, 2, 3]
d = {'name': 'aaa', 'age': 12}
f(*a, **d)

运行结果:

1
(2, 3)
{'name': 'aaa', 'age': 12}

  • 全局变量和局部变量

代码样例:

total = 0 
def sum(arg1, arg2):
    total = arg1 + arg2
    print("函数内是局部变量 : ", total)
    return total
sum(10, 20)
print("函数外是全局变量 : ", total)

运行结果:

函数内是局部变量 :  30
函数外是全局变量 :  0

n. 强调

  • 空列表、空元组不为None

代码样例:

a = []
b = ()
c = None
print('a: %s' % type(a))
print('b: %s' % type(b))
print('c: %s' % type(c))
if a is None:
    print('a is null')
else:
    print('a is not null')
if b is None:
    print('b is null')
else:
    print('b is not null')
if c is None:
    print('c is null')
else:
    print('c is not null')

运行结果:

a: <class 'list'>
b: <class 'tuple'>
c: <class 'NoneType'>
a is not null
b is not null
c is null

None相当于空指针,是不分配内存空间的,而[]已经分配了列表的内存空间,只不过列表内存空间为空,()同理

  •  python 中,类型属于对象,变量是没有类型的

代码样例:

a = 3
b = 3
print(id(a))
print(id(b))
a = [1, 2]
b = [1, 2]
print(id(a))
print(id(b))
a = "12"
b = "12"
print(id(a))
print(id(b))

运行结果:

140713555920608
140713555920608
1987407465280
1987407464448
1987406285040
1987406285040

通过id()函数取出变量地址。由此可见,Python中的整数、字符串一直是同一个地址,是不变的,变得只有变量名,变量名就像一个指向固定地址的指针,而列表是可变的,新建的列表会分配新的地址


总结

这其中仍有许多需要注意的细节,我也只是对我需要用到的部分做一些整理

参考资料:Python菜鸟教程

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值