来自 技术 2019-04-17 00:00 的文章

Python数据类型、运算符、语句、循环

八年Java开发的感悟:什么才是程序员的立身之本>>>   

1.数据类型Numbers(int、long、float、complex)StringBoolean(True、False)ListTupleDictSet2.数据类型转换int(float, string, bytes)float(int, string, bytes)complex(int, float, str)str(int, float, complex, bytes, list, tuple, dict, set, 其他类型)bytes(string)list(str, bytes, tuple, dict, set)tuple(str, bytes, list, dict, set)dict(str, list, tuple, set)set(str, bytes, list, tuple, dict)3.运算符+、-、*、/、**/<、>、!=、//、%、&、|、^、~、>>、<<、<=、>=、==、not、and、or

#两个数字相加sumNumber=1+2print(sumNumber) #输出结果:3 #两个字符串相加sumString="Nice work"print(sumString) #输出结果:Nice work #两个数字相减subNumber=2-1print(subNumber) #输出结果:1 #两个数字相乘或者字符串重复multiplicationNumber=2*3print(multiplicationNumber) #输出结果:6multiplicationString="hello"*2print(multiplicationString) #输出结果:hellohello#/---关于*号重复字符串之前的博客已经介绍过了---/ #两个数相除divisionNumber=9/2print(divisionNumber) #输出结果:4divisionNumber=9.0/2print(divisionNumber) #输出结果:4.5divisionNumber=9/2.0print(divisionNumber) #输出结果:4.5#/---除数或被除数中有任意一个是小数的话,商也会保留小数,反之取整---/ #求幂运算powerNumber=2**3 #相当于2的3次幂,就是2*2*2 关于幂运算大家应该在数学里都很熟悉了print powerNumber #输出结果:8 #小于符号,返回值是bool值lessThan=1<2print(lessThan) #输出结果:TruelessThan=1<1print(lessThan) #输出结果:False #大于符号,返回值是bool值moreThan=2>1print(moreThan) #输出结果:TruemoreThan=2>2print(moreThan) #输出结果:False #不等于符号 返回值是Bool值notEqual=1!=2print(notEqual) #输出结果:TruenotEqual=1!=1print(notEqual) #输出结果:False #除法运算// 返回商的整数部分,抛弃余数divisorNumber=10//3print(divisorNumber) #输出结果:3 #除法运算% 返回商的余数部分,抛弃商divisorNumber=10%3print(divisorNumber) #输出结果:1divisorNumber=10%1print(divisorNumber) #输出结果:0 /--没有余数则返回0--/divisorNumberx=10//3 #divisorNumberx是商的整数部分divisorNumbery=10%3 #divisorNumbery是余数divisorNumberz=3*divisorNumberx+divisorNumbery #divisorNumberz是除数乘以商的整数部分加上余数,得到的divisorNumberz的值就是被除数print(divisorNumberz) #输出结果:10 #按位与运算&, 按位与是指一个数字转化为二进制,然后这些二进制的数按位来进行与运算operationNumber=7&18print operationNumber #输出结果:2'''这个有点绕,稍微多说下,如果对二进制不是太熟的朋友,可以打开电脑自带的计算器,按住win+q,输入"calculator"。然后在打开的计算器设置成程序员模式, 就是View(查看)->>programmer(程序员).然后我们将7转为二进制:111,自动补全8位:00000111,然后将18转为二进制补全8位后得到:00010010最后将 00000111跟 00010010 按位进行与运算,/-对与运算不熟的朋友可以看看百度百科的介绍,还是很详细的。http://baike.baidu.com/link?url=lfGJREBvGCY5j7VdF2OO9n2mtIbSyNUD7lZyyY74QIetguL5lXIQUxY38Yr-p4z4WdUvHUKGjw9CDfagiun2Ea-/得到结果:00000010我们都知道10二进制→十进制=2,所以7跟18的按位与的结果是二进制10(十进制2)''' #按位或运算|, 按位或是指一个数字转化为二进制,然后这些二进制的数按位来进行或运算operationNumber=7|18print operationNumber #输出结果:23 #结题思路和按位与运算的一样,可以参考按位与运算 #按位异或operationNumber=7^18print operationNumber #输出结果:21 #结题思路和按位与运算的一样,可以参考按位与运算 #按位翻转 ~ 按位翻转公式: ~x= - (x+1)operationNumber=~12 #~12=- (12+1) = -13print operationNumber #输出结果:-13 #结题思路和按位与运算的一样,可以参考按位与运算 #左移<<'''比如18左移就是将他的二进制形式00100100左移,得到00100100(36)。左移规律:左移一个单位相当于乘2,左移两个单位相当于乘以4,左移三个单位相当于乘以8,即: 左移n个单位相当于乘以2的n次幂'''operationNumber=12<<1print operationNumber #输出结果:24operationNumber=3<<3print operationNumber #输出结果:24 #右移>>'''理解左移以后,右移就很好理解了。右移是左移的逆运算,将对应的二进制数向右移动。右移规律:右移一个单位相当于除以2,右移两个单位相当于除以4,右移三个单位相当于除以8,即: 右移n个单位相当于除以2的n次幂'''operationNumber=12>>1print operationNumber #输出结果:6operationNumber=12>>2print operationNumber #输出结果:3 #小于等于<= 比较运算,小于或等于返回一个bool值operationNumber=3<=3print operationNumber #输出结果:TrueoperationNumber=3<=2print operationNumber #输出结果:False #大于等于>= 比较运算,大于或等于返回一个bool值operationNumber=2>=3print operationNumber #输出结果:FalseoperationNumber=3>=2print operationNumber #输出结果:True #比较两个对象是否相等==operationNumber=3==2print operationNumber #输出结果:FalseoperationString="hi"=="hi"print operationString #输出结果:True #逻辑非 notoperationx=Trueoperationy=not operationxprint operationy #输出结果:Falseoperationz=Falseprint not operationz #输出结果:True #逻辑与 and'''True and True = TrueTrue and False = FalseFalse and True = FalseFalse and False = False'''print True and True #输出结果:True #逻辑或 or'''True or True = TrueTrue or False = TrueFalse or True = TrueFalse or False = False'''print False or False #输出结果:False4. 运算符优先级

由高到低排序

** 指数~ 、+、 - ,取反, 正负号、/、 %、 // 乘,除,取模和取整除+、- 加号减号、>>、 << 右移,左移运算符& 位与^ | 位运算符== 、!= 、< 、<= 、>、 >= 比较运算符= 、-= 、+= 、%= 、/= 、//=、 = 、*= 赋值运算符is、 is not 标识运算符in、not in 成员运算符and、or、not 逻辑运算符4.语句if、if...else...、if...elif...else...switch...casewhile、while...do、do...while...for5.字符串操作find、index、count、replace、splitcapitalize、title、startsWith、endsWith、lstriplower、upper、ljust、rjust、centerrstrip、strip、rfind、rindex、partitionrpartition、splitlines、isalpha、isdigit、isalnumisspace、join6.列表的常见操作append、extend、insertin、not in、index、countdel、pop、remove7.字典的操作len、keys、values、items、has_key8.方法

# 计算1~num的累积和 def calculateNum(num): result = 0 i = 1 while i<=num: result = result + i i+=1 return result result = calculateNum(100) print('1~100的累积和为:%d'%result)