python学习笔记(5)in,str,int,def,global用法

1.in 运算符 可以检查一个值是否在序列中。

 a in b ,意思是a是否在b里面,在则显示True值,反之显示False值。

>>> x='abc'
>>> 'a'in x
True
>>> 'f'in x
False


#用 in 运算符,检查用户名和pin码

database=[
    ['att','123'],
    ['btt','223'],
    ['ctt','323'],
    ['dtt','423'],
    ]

while True:
    user_name=input('用户名:')
    pin=      input('PIN:')
    if [user_name,pin] in database:
        break
    print('you are wrong!')
print('good job!')


2.最近的学习中,最常出错的问题是:没有正确区分str类型和int类型,常常导致语法错误。

一定要注意,只有同类型才能连接和匹配

3.len函数返回序列包含的元素数量,min返回序列最小值,max返回序列最大值。


4.在windows里面 有个比cmd更好用的命令框 powershell终端 

在终端里创建一个目录:

new-item -path c:/ -name abc -type directory

含义是在c盘建立一个名为abc的文件夹。

start c:/abc  含义是打开c盘的abc文件夹。


5.如果有编码错误,在py脚本最上面一行加入

# -*- coding: utf-8 -*-

表示你的脚本使用utf-8编码。虽然这个代码前面有#字符号,但是软件里有专门设置,把这行代码识别为使用utf-8编码,这是一个取巧的办法,知道就行。


6.#字符 英文叫 octothorpe


7.倒着读代码可以精确处理每个片段,更容易发现代码中的错误,是一个很好的查错技巧。


8. def 定义函数:

#定义函数的格式:def x():
#表示定义x为函数,()里面可以写变量

def x(a,b): #此处的a和b是局部变量,仅在x函数内部有意义
    if a>b:
        print(a,'最大')
    else:
        print(b,'最大')

#下面的a和b不在def函数里,函数的里a和b不能等同下方的a和b
a=input('第一个数:')
b=input('第二个数:')

x(a,b) #注意:def里的a和b与上面的a和b,是各自独立的


#默认值参数设定
def x(a,b=1):
    print(a*b)

x('b的默认值是1,所以这句话只出现1次.')
x('参数改成3,这句话会重复3次.',3)

#不能给第一个参数赋值,语法是无效的,
#def x(a,b=1): 这个是有效的
#def x(a=1,b): 这个是无效的

#关键参数按位置来排,但是你也可以指定参数让它指定显示,
#没指定的还是位置默认来显示。
def x(a,b=2,c=10):
    print('a is ',a,'b is ',b,'c is ',c)


x(3,7)       #3按顺序赋值给a,7赋值给b
x(6,c=20)    #6赋值给a,b没有指定,按默认显示,20赋值给c
x(c=15,a=50) #规则和上面一样


9. global的用法:

# global x ,该语句可以全局声明变量x的值,
#而一般的变量的值仅在函数内部被声明,
#在函数外部是不被承认的。

def x(a):#注意括号里的a
    print('a=',a)
    a=2
    print('函数内a的值被改变为',a)

a=50
x(a)#注意括号里的a
print('函数外的a值是',a)


#下面是加global的效果


def x():#注意括号里没有a
    global a
    print('a=',a)
    a=2
    print('函数内a的值被改变为',a)


a=50
x()#注意括号里没有a
print('函数外的a值是',a)



你可能感兴趣的:(python)