python学习笔记(二)

老师讲解总结,禁止转载

函数功能
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 assignment
print(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 = t
print (a,b,c,d)
print(t)

1
2
3
4
(1, 2, 3, 4)

列表封装和解封

t = [1,2,3,4]
a,b,c,d = t
print (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 = t
print(a)
print(b)
print(c)
print(d)
print(e)
print(f)
print(g)
print(t)
1
,
2
,
3
,
4
1,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 = 23
k = 0
while(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= 3
y= 2
x= 3
y= 4

def func_app(x):
    x.append(99)
    return x

x = [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"])




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值