博文

目前显示的是 七月, 2017的博文

Python - 函数练习

1.写函数,计算传入字符串中【数字】、【字母】、【空格] 以及 【其他】的个数 def zifu(zfc): #先定义他们的个数都为0 num_num = 0 letter_num = 0 space_num = 0 other_num = 0 #判断类型,累计加1 for i in zfc: if i.isalpha(): letter_num += 1 elif i.isdigit(): num_num += 1 elif i.isspace(): space_num += 1 else: other_num += 1 return (num_num,letter_num,space_num,other_num) ret = zifu(input('input your str:')) print(ret) 2.写函数,判断用户传入的对象(字符串、列表、元组)长度是否大于5。 temp = [11,33,455,'das','4321','df'] # temp = 123 def panduan(s): #用isinstance方法判断传入的数值是不是 字符串、列表、元组类型,是的话计算他的长度 if isinstance(temp,str) or isinstance(temp,list) or isinstance(temp,tuple): return True if len(s) > 5 else False return None ret = panduan(temp) #获取函数执行后的返回值 if ret == True: print('您传入的对象长度大于5') elif ret == None: print('您传入的对象不是字符串、列表或元组') else: print('您传入的对象长度不足5') 3...

Python - set & 函数

图片
一、基本数据类型补充 ─ set(是一个无序且不重复的元素集合) #创建集合,两种方式 >>> s = set([11,22,33]) #set 中最多传一个参数 >>> type(s) # 这里的#加上是为了显示,可以忽略 >>> new_s = {11,22,33} #用{},看起来像是字典,但是字典是有键值对,而set没有 >>> type(new_s) #转换 >>> li = [11,22,33] >>> set(li) #讲列表转换为集合 {33, 11, 22} >>> li = [11,11,11] >>> set(li) #集合是不允许重复的,所以当列表li转为集合的时候,想的元素在集合中只显示一次 {11} add(self,*args,**kwargs) #添加元素 >>> s = set() #创建一个空集合 >>> s.add(11) #add只能添加一个元素,也不能添加列表,添加多个可以使用update >>> s {11} update(self,*args,**kwargs) #添加元素,可以添加多个 >>> s = set() >>> s.update([11,22,33]) >>> s {33, 11, 22} clear(self,*args,**kwargs) #清除内容 >>> s.clear() >>> s set() difference(self,*args,**kwargs) #A中存在,B中不存在的,并将其赋于一个新值 >>> A = {11,22,33,44} >>> B = {11,33,55,77} >>> ret = A.difference(B) >>> A #A的数值不变 {...

Python - 数据类型

图片
一、运算符 1.算数运算符 2.比较运算符 3.赋值运算符 4.逻辑运算符 5.成员运算符 二、基本数据类型 整数 int 字符串 str 布尔值 True False 列表 list 元组 tuple 字典 dict 所有数据类型具备的方法,存在在想对应的类里面。 id()查对象、变量内存地址,dir() 查看对应方法, help() 查看对应方法详细使用说明 1.int方法 >>> n1 =4 >>> n1.bit_length() # 查看n1用二进制表示,最少可以占几位 3 # >>> 00000100 2.str方法 (方法中带有self意思不需要传任何参数,可以直接调用;有count,需要设置数值;start、end设置起始数值……) capitalize(self) #把开头字母变大写 >>> str1 = 'alex' >>> str1.capitalize() 'Alex' center(self,width,fillchar=None) #内容居中,width设置这个字符串的总长度,剩余部分会用你所填写的fillchar补充 >>> str1 = 'alex' >>> str1.center(20,'*') '********alex********' >>> str1.center(20) #默认会用空格填充 ' alex ' count(self,sub,start=None,end=None) #计算子序列个数 >>> str2 = 'alexdurand' >>> str2.count('a') #在这个字符串中计算有多少个a 2 >>> str2 = 'alexdurand' >>> str2.count(...

JavaScript变量

图片
一、JS引入方式,内嵌与外联 二、变量与常量 变量: 变量在所有程序中都是最重要的也是最基本的。 变量也就是变化的量。 //S=πr^2 ,S 和 r是可变的,为变量 常量: 常量就是不变的量。 //就像数学当中π≈3.14,他是不可改变的 三、变量命名法 驼峰命名法: firstName // 第一个单词字母全部小写,后面的单词首字母大写 帕斯卡命名法: FirstName // 每个单词首字母都大写 匈牙利命名法: 属性+类型+对象描述 G_Str_name // G >> global , Str >> 字符串类型 , name >> 变量名 四、变量命名规则(在JS中所有的变量或者对象的声明均用var关键字来声明:var firstNmae;) 不能以数字开头 不能含特殊字符(下划线除外) 不能以关键字命名 大小写字母均可 五、声明变量&赋值 //声明一个变量 var a; alert(a); //声明变量,并赋值 var a = 'alex'; alert(a); //声明多个变量,并赋相同的初始值 var a=b=c=d='alex'; alert(a); 注:变量名称严格区分大小写: //这两个是完全不一样的变量 var username=‘alex’; var USERNAME=‘durand’; alert(username); alert(USERNAME);

Python - 入门

图片
一、交互模式 如果电脑安装过Python,在Terminal里输入python回车即可 二、第一句python代码 print('Hello,World!) python内部执行过程: 三、解释器 如果通过终端执行创建好的py文件,执行前需给予 xxx.py 执行权限,chmod 755 xxx.py 如果想要类似于执行shell脚本一样执行python脚本,例: ./hello.py ,那么就需要在 hello.py 文件的头部指定解释器,如下: #!/usr/bin/env python print('Hello,World!) 四、编码 python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill) ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。 ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536 注:此处说的的是最少2个字节,可能更多 UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存... 所以,python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill),如果是如下代码的话: 报错:ascii码无法表示中文 #!/usr/bin/env python print("你好,世界") 改正:应该显示的告诉python解释器,用什么编码来执...

Wifi 晶片漏洞 Broadpwn, iOS & Android 尽快更新

Apple 和 Android 同时都遇到的安全性问题,主要发生在硬体晶片上,下述为官方的更新链接: About the security content of iOS 10.3.3 - Apple Support Android Security Bulletin—July 2017 漏洞名称「Broadpwn」:用户手机开启「无线网(Wifi)」的功能,相同的网络信号范围内,骇客不需要手机PIN码或是密码,只需要借助「用户手机晶片正在搜寻Wi -Fi信号,就可以远端遥控手机装置。」对用户来说,在使用上仍有许多潜在的安全风险性。因此,如果你的手机有推送最新系统版本( iOS本周推出最新版本10.3.3 )的更新通知时,务必要尽快更新,以确个人资料安全。 Broadpwn 相关新闻: Broadpwn: Remotely Compromising Android and iOS via a Bug in Broadcom's Wi-Fi Chipsets If you use Wi-Fi on your iOS device, get this security update 下述整理自此篇 苹果用户快更新 Wi-Fi连线手机恐遭骇 该漏洞是由Exodus Intelligence的安全研究员Nitay Artenstein所发现,主要存在于采用Broadpwn 博通生产的「BCM43xx」系列WiFi 晶片等设备装置,其应用范围除了 苹果iPhone 5以上 、 第六代iPod Touch ,也同样应用在Android手机,例如 hTC、LG、三星 等也同样有使用这组晶片。