python学习笔记(二)

来源:互联网 发布:电脑点不开任何软件 编辑:程序博客网 时间:2024/06/03 11:14

老师讲解总结,禁止转载

函数功能range(n)
从0输出到n-1
range(start,end,step)
从start输出到end-1,步长为step
string.splict("x")
字符串的分割函数,根据字符x分割,分割后返回一个列表 string为字符串的名字
end=" "
使输出的在同一行显示
zip(列表1/元组1/字符串1,列表2/元组2/字符串2)
将两个序列”压缩”在一起,然后返回一个元组列表,可在for循环中用”解包”方式分拆开
global x
标识元素x为全局变量








元组

元组里的值不可以更改,但是若元组的元素为列表,则列表里面的值可以改

a = (1,2,[3,4,5],(6,7),"8,9")print(a)a[2][0] = 100#a[3][0] = 100#'tuple' object does not support item assignment#a[4][0] = 100#'str' object does not support item assignmentprint(a)
(1, 2, [3, 4, 5], (6, 7), '8,9')(1, 2, [100, 4, 5], (6, 7), '8,9')

一个元组由数个逗号分隔的值组成

元组在输出时总是有括号的,以便于正确表达嵌套结构
在输入时,有或没有括号都可以

元组有很多用途。例如(x, y)坐标点,数据库中的员工记录等等。
元组就像字符串,不可改变:不能给元组的一个独立的元素赋值(尽管可以通过联接和切片来模仿)
可以通过包含可变对象来创建元组,例如链表。

>>> lst = [1, 2, 3]>>> t = tuple(lst)>>> t(1, 2, 3)

一个特殊的问题是构造包含零个或一个元素的元组:为了适应这种情况,语法上有一些额外的改变。一对空的括号可以创建空元组;要创建一个单元素元组可以在值后面跟一个逗号(在括号中放入一个单值是不够的)。

>>> emp = ()>>> emp()>>> single = 'a',  #<-- note trailing comma>>> len(emp)0>>> len(single)1>>> single('a',)

元组封装和解封

语句t = 12345, 54321, ’hello!’ 是元组封装(sequence packing)的一个例子:值12345,54321 和’hello!’ 被封装进元组。

这个调用被称为序列拆封非常合适。序列拆封要求左侧的变量数目与序列的元素个数相同

其逆操作可能是这样

t = (1,2,3,4)a,b,c,d = tprint (a,b,c,d)print(t)

1234(1, 2, 3, 4)

列表封装和解封

t = [1,2,3,4]a,b,c,d = tprint (a,b,c,d)print(t)
1 2 3 4[1, 2, 3, 4]

字符串封装和解封

t = "1,2,3,4"a,b,c,d,e,f,g = tprint(a)print(b)print(c)print(d)print(e)print(f)print(g)print(t)
1,2,3,41,2,3,4

控制流

if语句是选择语句

是python的主要选择工具,代表python程序所拥有的大多数逻辑
If语句是复合语句,if语句可以包含其他语句

if <test1>:    <statement1>elif <test2>: #注意 elif    <statement2>else:    <statement3>


python中没有switch、case语句,可用多个if实现类似功能,也可以用字典等

if后面真值测试
数字非零则为真
对象非空则为真

While

while、for语句用于提供循环的控制功能
While一般格式

while <test>:    <statement1>else:    <statement2>
注:如果 while由于break结束,则 else内容也不会执行

while按次数执行结束,执行else语句

number = 23k = 0while(1):    guess = int(input("请输入一个你猜测的数字: "))    if guess == number:        print("恭喜你!猜测的数字与答案一致")        print('您一共花了',k,'次猜出了答案')        break    elif guess<number:            print("猜测的数偏低")            k = k + 1    else:            print("猜测的数偏高")            k = k + 1

请输入一个你猜测的数字: 67猜测的数偏高请输入一个你猜测的数字: 45猜测的数偏高请输入一个你猜测的数字: 24猜测的数偏高请输入一个你猜测的数字: 22猜测的数偏低请输入一个你猜测的数字: 23恭喜你!猜测的数字与答案一致您一共花了 4 次猜出了答案

for循环:

for循环是python中一个通用的序列迭代器;可以遍历任何有序序列对象内的元素
for语句可以用于字符串、列表、元组、其他内置可迭代对象,以及用户通过类创建的新对象。

for也可以带else语句,在for正常结束后,运行else语句

for x in [1,2,3,4] x=1 x=2 ..#列表         (1,2,3,4) x=1 x=2 ..#元组         "hello"    x='h' x='e' ..#字符串
my_list = [1,2,'a',"hehe",1+3j,[1,2],(1,2)]for item in my_list:    print(item,"\t",type(item))

Range()内容索引器

range(5)   输出0,1,2,3,4 长度为5

rang(a)  长度为a 范围 0~(a-1)

range(1,5)  输出1,2,3,4 默认步长为1

range(a,b,c)   范围为[a,b)  步长为c

string.splict()函数  分割函数 

根据splict() 括号里的 进行分割

转载地址:http://www.runoob.com/python/att-string-split.html

st = "Zhengzhou Is A Beautiful City"  for item in st.split(" "):    print(item,len(item))
st = "Zhengzhou Is A Beautiful City"for index in range(len(st)):    print(st[index],end=" ")
end = " " 作用 使输出的值在同一行

zip(列表1/元组1/字符串1,列表2/元组2/字符串2)

Zip是将两个序列”压缩”在一起,然后返回一个元组列表,可在for循环中用”解包”方式分拆开

names = ["Xiaoming","Xiaowang","Xiaomei"]ages = [21,22,23]for name,age in zip(names,ages):  #用的是解包    print(name," is ",age,"years old")#以元组的形式输出出来

zip(names,ages) = (("Xiaoming",21),("Xiaowang",22),("Xiaomei",23))

函数

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数

函数名的命名规则要符合python中的命名要求。一般用小写字母和单下划线、数字等组合

def是定义函数的关键词,这个简写来自英文单词define

函数名后面是圆括号,括号里面,可以有参数列表,也可以没有参数

千万不要忘记了括号后面的冒号
函数体(语句块),相对于def缩进,按照python习惯,缩进四个空格

a,b并没有严格规定其所引用的对象类型。这是python跟某些语言比如java很大的区别,在有些语言中,需要在定义函数的时候告诉函数参数的数据类型。python不用那样做。

def 函数名(参数1,参数2,...,参数n): 
      函数体(语句块)

函数的参数不需要定义类型:灵活、多态

函数参数默认值

def times(x,y=2):     print("x=",x)    print("y=",y)        if __name__ == "__main__":    times(3)    times(3,4)

x= 3y= 2x= 3y= 4

def func_app(x):    x.append(99)    return xx = [3,4,5,6]func_app(x)print(x)
[3, 4, 5, 6, 99]

全局变量与局部变量

全局表里标识 global
x = 2              #全局变量def my_func():    x = 8          #局部变量    print("x is ",x)    def my_func2():    global x       #全局变量    x = 8    print("x is ",x)my_func()print("经过func1后x变为:",x)print("-------------------")my_func2()print("经过func2后x变为:",x)
x is  8经过func1后x变为: 2-------------------x is  8经过func2后x变为: 8

输入参数搜集器

看成一个元组*args 不用传递太多参数,传递*args
def my_func(x,*args):    print(x)    for item in args:        print(item,end=" ")    my_func(5,["Hello","Zhengzhou"])




原创粉丝点击