本文共 3196 字,大约阅读时间需要 10 分钟。
变量类型:
int
;float
;bool
,True
和False
;complex
;不可变类型:内存中数据不允许被修改;
int、bool、float、complex,long(2, x)
;str
;tuple
;可变类型:内存中数据可修改;
list
;dict
;变量命名规则:
**
:代表指数,eg:2 ** 3 = 8
;
/
:代表除法,eg:22 / 8 = 2.75
;
//
:代表整除/商数取整,eg:22 / 8 = 2
;
*
:用于两个整形或浮点型值时,表示乘法,但用于字符串值和一个整形值时,它则变成了’字符串复制’操作符;
交互式环境窗口与文件编辑器窗口区别:
>>>
提示符;>>>
提示符;注释:
#这是单行注释;
'''
或者三个双引号 """
将注释括起来;'''这是多行注释;'''
"""这是多行注释;"""
>>>42 == 42.0True
#!
:常用于Unix系统脚本中的第一行开头使用,用于知名执行这个脚本文件的解释程序;#! /usr/bin/python3
Python保留字
数据类型转换
正负无穷
float('inf') #正无穷float('-inf') #负无穷
inf
乘以0
得到一个not-a-number(NaN)
,NaN
与inf
的区别:inf
数的significant
部分为0
,而NaN
数的significant
部分部位0
;布尔值:Boolean
,只有True
和False
;
与and
、或or
、非not
;
控制流的元素:
导入模块代码所包含的部分:
>>> spam = print('hello')hello>>> None == spamTrue
函数三大优点
过程:过程就是简单特殊无返回值的函数;
函数返回值:
None
;object
;tuple
;默认参数
#传递多个参数,返回的参数组是一个元组def test(*args): print(args) >>> test(1, 3, 4)(1, 3, 4)
# 参数组返回的是字典def test2(**kwargs): print(kwargs)>>> test2(name = 'k', age = 4, sex = 'M'){ 'name':'k', 'age':4, 'sex':'M'}
调用函数时,实质上传递的是实参保存数据的引用,而不是实参保存的数据;
位置参数和关键字:标准调用与形参位置一一对应;关键字调用无序固定;关键字参数必须在位置参数后边;
函数传递的参数
+=
不是进行相加再赋值的操作,本质上是调用列表的extend
方法;缺省参数注意点
多值参数
*
可接收元祖,常命名为*args
;*
可接受字典,常命名为**kwargs
;元祖与字典的拆包
args
,则在元祖变量前增加一个*
;kwargs
,则在字典变量前增加两个**
;局部和全局作用域
global语句
eggs = 'global'def spam(): global eggs eggs = 'spam'spam()print(eggs) -----------spam-----------
try
和except
语句处理;def spam(divideBy): try: return 43 / divideBy except ZeroDivisionError: print('Error:Invalid argument.')
#小程序:猜数字,不断循环,直到你猜出这个数guessNumber = random.randint(1,100)print("I'm thinking a number between 1 and 100.")while True: print('Take a guess.') guess = int(input()) if guess > guessNumber: print("It's too high") elif guess < guessNumber: print("It's to low") else: print("Congratulations, you win.") break
#Collatz序列def collatz(number): if (number % 2 == 0): return number / 2 else: return number * 3 + 1print('Input a number.')while True: global number1 try: number1 = int(input()) except ValueError: print('Please input a number') continue if collatz(number1) != 1: print(int(collatz(number1))) else: print(int(collatz(number1))) break