h3

php程序员学习python3学习第六天

1, dir(),help() 查看帮助

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

temp = "xx"

#通过dir()方法查看有哪些方法可以用
print(dir(temp))

#查看详细解释 通过help
print(help(type(temp)))

2,加号在python内部调用的是__add__方法

n1 = 111
n2 = 222
print(n1+n2)

#加号在python内部调用的是__add__方法
print(n1.__add__(n2))

3,获取数字用二进制表示的最短位数 bit_length()

a = 2
print(a.bit_length())

4,字符串常用方法及练习

5,在python3中默认编码是utf8  一个汉字是3个字节  一个字节8位  字节使用16进制表示的二进制  \x...,10进制表示方式,2进制表示方式  bytes 将字符转为字节

6,bin() 将10进制的数转换为2进制

name ="老王"

for name_value in name:
    print(name_value) #打印单个字符
    bytes_list = bytes(name_value,encoding='utf-8') #打印字节  字节默认16进制
    print(bytes_list)
    #输出单个字节
    for i in bytes_list:
        print(i,"\n") #默认单个字节使用10进制表示
        print(bin(i)) #使用二进制输出

7,字符串到列表的转换,单个字符为一个元素

name ="老王"

name_list = list(name)
print(name_list)

8,元组转换为列表

#元组转换位列表
tuple_name = ("ab","bc","cd")
name_lists = list(tuple_name)
print(name_lists)

9,字典转换为列表

#字典转换为列表
dict_name = {"a1":"ab","a2":"bc"}
#默认循环的是索引
print(list(dict_name))
#取值
print(list(dict_name.values()))
#取items
print(list(dict_name.items()))

10,将列表转换为字典 使用enumerate

#将列表转换为字典
ages = [22,33,44]
#使用enumerate 自动循环列表的键
dict_ages = dict(enumerate(ages))
print(dict_ages)

11, 三元运算符

#-*-coding:utf-8-*-
name = 'haha' if 1==1 else 'bbb'
print(name)

12,try except  异常

13,函数传入动态参数 *args **kwargs  要同时写的时候必须把一个*的写在两个*的前边

# -*- coding:utf-8 -*-
#动态参数练习
def f1(a):
    print(a,type(a)) #aa <class 'str'>
f1('aa')

#动态参数传递  一
def f2(*a):
    print(a,type(a))
f2("a") #将a转为了元组传递进去
f2('a','b',['c','d'],{"e":"f"})

#动态参数二
def f3(**a): #两个**表示值必须是key value形式传递的
    print(a)
f3(a=1,b=2)

#动态参数整合,既接收动态参数1的形式也接受动态参数2的形式
def f4(*a,**aa):
    print(a,type(a))
    print(aa,type(aa))
f4(1,2,3) #此时函数自动转为*a中
f4(a=1,b=2) #此时函数自动转为**a中 类型为字典形式的
f4(1,2,3, a=1,b=2) #函数可以自动识别

14,使用动态参数传递列表 ,传递元组也类似

#动态参数传递  一
def f2(*a):
    print(a,type(a))
li = [2,3,4,5]
f2(li) #([2, 3, 4, 5],) <class 'tuple'>  将列表直接放入tuple中
f2(*li) #(2, 3, 4, 5) <class 'tuple'> 将列表中的元素分别放入元组中

15,使用动态参数传递字典

#动态参数二
def f3(**a): #两个**表示值必须是key value形式传递的
    print(a)
f3(a=1,b=2)
dics = {"name":"aa","age":22}
f3(dics) #此时会报错,因为接受的格式为key = value
f3(**dics)

16,全局变量与局部变量,此处语法与pp有区别,在python中在方法内也可以读取方法外的全局变量,若修改全局变量,加上global调用即可,php中方法内的不可以直接读取,python中的全局变量使用大写,局部变量使用小写

#-*- coding:utf-8 -*-
NAME = 'aaa'
AGE = 22
def editName():
    print(NAME)    #读取全局变量
    #若想修改全局变量,需要使用global进行获取
    global NAME
    global AGE
    NAME = 'BBB'
    print(NAME)
editName()
print(NAME)
print(AGE)

17,判断某个对象是不是某个类创建的,例如判断参数是否是字符串,列表,字典,元组等 isinstance()

# -*- coding:utf-8 -*-
#判断某个对象是否是某个类创建的
str1 = 'asddsfds'
print(isinstance(str1, str)) #str类
print(isinstance(str1, list))
print(isinstance(str1, tuple))
print(isinstance(str1, dict))
print(isinstance(str1,set))
set1 = {'a','s','f','g'}
print(isinstance(set1,set))

 18,python的传递赋值同php中一样,当变量赋给变量时,先将其内存地址赋给他,当被赋值的变量重新赋值时,再重新为其开辟一个新的内存地址

a = 'a'
print(id(a)) #15623144
b = a
print(id(b)) #15623144
b = 'aaaaa'
print(id(b)) #17552808
print(id(a)) #15623144
posted @ 2017-05-21 14:55  码上平天下  阅读(101)  评论(0)    收藏  举报