python基础知识

来源:互联网 发布:java abstract final 编辑:程序博客网 时间:2024/05/16 07:19

命令行和文件

在命令行中python会出现python2的执行环境,python3会出现python3的执行环境
python index.py python3 index.py 分别以python2和python3运行index.py文件
在文件头加#!/usr/bin/env python3 然后在命令行执行chmod a+x index.py 就可以通过./index.py运行python文件(仅限mac系统)

基本数据类型

布尔值

True False 注意大小写
True and True
True or False
not True

list

classmates = ['Michael', 'Bob', 'Tracy']//list里的元素类型可以不一样len(classmates)//输出3,获取list长度classmates[0]//通过下标访问和修改list,但不能超过长度范围classmates[-1]//通过加负号从后访问,等于classmates[len(classmates)-1]

list方法

mates.append('Amay')//在尾部插入mates.insert(1,'Taylor')//指定位置插入mates.pop()//删除并返回尾部元素

tuple

classmates = ('Michael', 'Bob', 'Tracy')//tuple赋值后就不可变了clssmates[-1]//也可以通过下标访问,但不能更改

函数

python内置函数官网

常用内置函数

abs:

//返回绝对值>>> abs(100)100>>> abs(-20)20>>> abs(12.34)12.34

max:

//接受多参数,返回最大值>>> max(1, 2)2>>> max(2, 3, 1, -5)3

数据类型转换函数

>>> int('123')123>>> int(12.34)12>>> float('12.34')12.34>>> str(1.23)'1.23'>>> str(100)'100'>>> bool(1)True>>> bool('')False

isinstance:

def check(a):    return isinstance(a,(int,float))#判断a是不是int/float类型

raise TypeError:

def check(a):    if(not isinstance(a,(int,float))):        raise TypeError('true error')#如果不是int/float类型,会终止程序并报错

自定义函数

使用def标识符

pass:

pass可用于构造空函数(占位符)

//空函数def nop():    pass//跳过(没有会报错)if age >= 18:    pass

返回多个值

import mathdef move(x, y, step, angle=0):    nx = x + step * math.cos(angle)    ny = y - step * math.sin(angle)    return nx, ny>>> x, y = move(100, 100, 60, math.pi / 6)>>> print(x, y)151.96152422706632 70.0#实际是返回一个tuple>>> r = move(100, 100, 60, math.pi / 6)>>> print(r)(151.96152422706632, 70.0)

默认参数

def power(x, n=2):    s = 1    while n > 0:        n = n - 1        s = s * x    return s>>> power(5)25>>> power(5, 2)25#必选参数在前,默认参数在后#默认参数必须指向不变变量
def enroll(name, gender, age=6, city='Beijing'):    print('name:', name)    print('gender:', gender)    print('age:', age)    print('city:', city)enroll('Bob', 'M', 7)enroll('Adam', 'M', city='Tianjin')

可变参数

//参数会自动组装成一个tupledef calc(*numbers):    sum = 0    for n in numbers:        sum = sum + n * n    return sum>>> calc(1, 2)5>>> calc()0>>> nums = [1, 2, 3]>>> calc(*nums)14

关键字参数

def person(name, age, **kw):    print('name:', name, 'age:', age, 'other:', kw)>>> person('Michael', 30)name: Michael age: 30 other: {}>>> person('Bob', 35, city='Beijing')name: Bob age: 35 other: {'city': 'Beijing'}>>> person('Adam', 45, gender='M', job='Engineer')name: Adam age: 45 other: {'gender': 'M', 'job': 'Engineer'}>>> extra = {'city': 'Beijing', 'job': 'Engineer'}>>> person('Jack', 24, city=extra['city'], job=extra['job'])name: Jack age: 24 other: {'city': 'Beijing', 'job': 'Engineer'}>>> extra = {'city': 'Beijing', 'job': 'Engineer'}>>> person('Jack', 24, **extra)name: Jack age: 24 other: {'city': 'Beijing', 'job': 'Engineer'}

基本语法

print()

print()函数可以接受多个字符串,用逗号“,”隔开,就可以连成一串输出:

>>> print('The quick brown fox', 'jumps over', 'the lazy dog')The quick brown fox jumps over the lazy dog

如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用”’…”’的格式表示多行内容,可以自己试试:

>>> print('''line1... line2... line3''')line1line2line3

如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Python还允许用r”表示”内部的字符串默认不转义,可以自己试试:

>>> print('\\\t\\')\       \>>> print(r'\\\t\\')\\\t\\

input()

输入函数

name=input()age=input('Please input your age')print('name:',name,'age:',age)

for循环

//遍历数组numbers=[1,2,3,4]for(n in numbers):    print(n)

if条件判断

if(a>b and b>c)与if(a>b or b>c)或if(not a>b)非//判断字典有没有属性if(key in dict)
原创粉丝点击