python基础知识简介(二)

小编在之前已经介绍过python的基础:字符串、列表、for循环等等,本篇文章主要来介绍一下python的if语句、字典、方法引用等,以便快速使用python处理一些数据问题。Python现在的使用比较广泛,对于新手来说入门比较简单,但是如果要深度学习,我们需要学习的东西有很多。

1、If语句

if语句后有条件表达式,如果条件表达式为True,则执行if后的语句,否则,执行else后的语句。Else不是必须的,如果没有else,条件为false的时候,跳过if后的语句块。还有一种语句类型为if-elif-else语句。If-else语句中如果满足if条件,else后的语句就不会执行。

示例:

条件表达式:条件表达式会有一个结果,True或者False。如果需要多个条件可以用or或者and添加多个条件。如果用or,只要有一个表达式结果为True,则表达式结果为True,如果用and,需要所有结果为True,表达式才为True。

for ss in namelist:

if ss == 'admin' or ss == 'Tom':

print("Hello %r,would you like to see a status report?" %ss)

列表是否为空:判断列表是否为空,可以用if lists,突然列表为空,返回False,如果不为空返回True。

emptelist = []

if emptelist:

print ("list is not empty!")

else:

print ("list is empty")

元素是否在列表中:判断元素是否包含在list中,可以用if ss in list,如果list包含元素返回True,否则返回False。

lists = ["audi","subaru","test"]

if "test" in lists:

print("test in lists")

1、字典

字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值key对应一个value,中间用冒号:隔开,value可以是任意对象,字典可以跟json格式数据进行相互转换,在开发中比较常用。

Dicts = {‘key1’:’value1’,’key2’:’value2’}

Key的值是唯一的,不可以重复,值可以取任何数据类型,但键的值不可变,因此在生成字典的时候,可以用数字,字符串或元组充当,而用列表就不行。

创建:创建字典,可以直接创建,也可以用fromkeys方法创建。

dicts = {}

dicts['name'] = 'verchy'

print(dicts)

访问字典中对应键的值:字典中可以用key值,访问对应的value值。

name = dicts['name']

print(name)

修改字典值:可以直接通过key赋值,也可以直接增加键-值对,如果同一个key被赋值两次,则记住后一次。

dicts1['name'] = 'Verchy'

dicts1['age'] = '18'

dicts1['score'] = '101'

print(dicts1)

删除字典值:可以通过del dict直接删除字典,也可以通过del dict[‘key’]删除对应的key值。

dicts['ccc'] = 'IIini'

print(dicts)

del dicts['ccc']

print(dicts)

del dicts

print(dicts)

基本函数:

fromkeys:生成字典,如果后面没有值,字典的value全部为None

seq = ('name','age','address')

dicts1 = dict.fromkeys(seq,111)

print(dicts1)

key in dict:键是否在列表中,如果键在字典dict里返回true,否则返回false

if 'name' in dicts1:

print("name in dict keys")

else:

print("name not dict key")

dict.items:返回可遍历的(键, 值) 元组数组。

items = dicts1.items()

print(items)

for i,j in items:

print(i , ": " , j)

dict.value():返回一个迭代器,可以使用 list() 来转换为列表,列表为字典中的所有值。

values = dicts1.values()

print(list(values))

dict.keys():返回字典的所有key值

keys = dicts1.keys()

print(list(keys))

popitem():删除字典键-值对,默认删除最后一个

pop_item = dicts1.popitem()

print(pop_item)

print(dicts1)

1、函数

在编程过程中会出现有些代码,需要重复利用,这些代码我们就可以提取出来,封装成函数,在代码中可以直接调用。函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

函数定义规则:

(1) 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。

(2) 传入的参数,放入圆括号中

(3) 函数定义语句结尾,加上冒号,函数内容以冒号开始,并缩进

(4) return [表达式] 结束函数,return表示函数返回值,调用函数后得到return的值,如果不带return,则默认返回值为none。下面献上一段小代码:

def test_baidu(browser):

if browser == "chrome":

driver = webdriver.Chrome()

elif browser == "firefox":

driver = webdriver.Firefox()

driver.get("https://www.baidu.com")

driver.quit()

if __name__ == '__main__':

test_baidu('chrome')

函数传递的参数也分几种,一般常用的有:必需参数、默认参数、不定长参数。

必需参数:函数传参必需与定义的参数一致,否则会报错。

def demo(a,b):

c = a + b

return c

a = 3

b = 5

c = demo(a,b)

print(c)

默认参数:参数有默认值,如果函数调用的时候传入数值,则使用传入值,如果没有传入该参数,则使用默认值。

def demo(a,b=6):

c = a + b

return c

a = 3

d = demo(a)

print(d)

不定长参数:可能需要一个函数能处理比当初声明时更多的参数,这些参数叫做不定长参数。加了星号 * 的参数会以元组(tuple)的形式导入,存放所有未命名的变量参数。如果调用时,没有指定该参数,则参数为空。

def demo1(a,*b):

print(a)

print(b)

ss = demo1(1,2,3)

匿名函数:所谓匿名,意即不再使用 def 语句这样标准的形式定义一个函数。python 使用 lambda 来创建匿名函数。lambda 只是一个表达式,lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。lambda 函数拥有自己的命名空间,且不能访问自己参数列表之外或全局命名空间里的参数。

count = lambda lists : len(lists)

lists = ['s',1,2,3]

print(count(lists))

练习题:

1、打印从1—99的数相加的和

打印9*9乘法表

下篇文章会附上本周练习代码。

上周习题代码:输入三边是否形成三角形

length1 = int(input("Please input a length1: "))

length2 = int(input("Please input a length2: "))

length3 = int(input("Please input a length3: "))

if length1

print("The edge is not made triangle")

elif length1 + length2

print("The edge is not made triangle")

elif length1 - length2 >= length3 or length2 - length3 >= length1 or length1 - length3 >= length2:

print("The edge is not made triangle")

else:

print("The edge is made triangle")

打印图形

for i in range(4):

for j in range(2 - i + 1):

print(" ",end='')

for k in range(2 * i + 1):

print('*',end='')

print('\n')

for i in reversed(range(3)):

for j in range(2 - i + 1):

stdout.write(' ')

for k in range(2 * i + 1):

stdout.write('*')

print("\n")

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181127G0CQTS00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券