首页 > 编程语言 > 详细

python基础入门归纳

时间:2021-04-22 15:14:09      阅读:12      评论:0      收藏:0      [点我收藏+]

python入门学习 版本3.8.8

https://www.liaoxuefeng.com/wiki/1016959663602400

运行

win中cmd直接跑
输入
python 
print(hello)

或新建 xx.py 中写print(hello)
cmd中输入python xx.py

 

linux mac可以直接跑py 像shell脚本一样 第一行需加上注释

#!/usr/bin/env python3

print(hello, world)

还得赋予执行权限

$ chmod a+x hello.py

 

输入input()

name=input(请输入:)//用户输入信息 赋予变量name

 

换行

print(xx\nxx) 
//打印
xx
xx

也可以使用‘‘‘...‘‘‘ 换行
print(‘‘‘line1 
...line2
line3‘‘‘)
//打印
line1
line2
line3

 

计算符号

>>> 10 / 3
3.3333333333333335 // 符号/除法 计算结果浮点类型

>>> 10 // 3    // 符号//取整 与java/一致
3

>>> 10 % 3    //符号%取余 与java一致
1

 

编码(***重点)

Unicode编码整合了各国的编码
utf-8编码将Unicode编码按字母编成1个字节 汉字3个字节 传输文本大量英文字母时 utf-8更节省空间

编写py代码建议使用utf-8编码
//bytes字节码 <--> str 互转
>>> 中文.encode(utf-8)
b\xe4\xb8\xad\xe6\x96\x87 //str转utf-8字节码

>>> b\xe4\xb8\xad\xe6\x96\x87.decode(utf-8) //字节码转str
中文

另外为了让python读取源码时按utf-8读取 最好在py文件开头加上

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

 

list、tuple集合

list
//定义例子如下
>>> classmates = [Michael, Bob, Tracy]
>>> classmates
[Michael, Bob, Tracy]

//常用api
classmates[0] //获取第一个索引
classmates[-1] //获取最后一个索引
classmates.append(Adam) //末尾插入
classmates.insert(1, Jack) //索引1位置插入 其它索引往后推
classmates.pop() //删除末尾索引
classmates[1] = Sarah //修改值

--------------------------------------------------------------------
tuple
//tuple小括号定义
//tuple与list相似但定义后不能修改
//定义例子如下
>>> classmates = (Michael, Bob, Tracy)

注意
定义空tuple classmates=()
定义1个值要多个逗号 classmates=(8,)

 

条件判断

//例子:
age = 3
if age >= 18:
    print(adult)
elif age >= 6:
    print(teenager)
else:
    print(kid)

 

循环

//for循环 类似java for(:)
//例子如下
names = [Michael, Bob, Tracy]
for name in names:
    print(name)


//while循环
//例子如下
sum = 0
n = 99
while n > 0:
    sum = sum + n
    n = n - 2
print(sum)


//break continue在python中也能使用

 

 

dict、set

//dict就是map
//定义例子如下
>>> d = {Michael: 95, Bob: 75, Tracy: 85}
>>> d[Michael]
95

d[Adam] = 67//存参
d[Adam]     //取参 注意 若参数不存在会报错
d.pop(Adam) //删除

避免key不存在报错方式
1.
>>> Thomas in d
False

2.
>>> d.get(Thomas)       //不存在返回None
>>> d.get(Thomas, -1)  //不存在返回-1
-1
//set
//定义例子如下
>>> s = set([1, 2, 3]) //即list放在set()中
>>> s
{1, 2, 3}

 s.add(4) //添加
s.remove(4) //删除

//交 并集
>>> s1 = set([1, 2, 3])
>>> s2 = set([2, 3, 4])
>>> s1 & s2
{2, 3}
>>> s1 | s2
{1, 2, 3, 4}

 

函数

//常用api
abs(-2) //返回绝对值
max(2, 3, 1, -5) //返回最大值
int(123) //类型转换
float(12.34)
str(1.23)
bool(1)
hex(255) //十进制转十六进制


//定义函数
//如下是定义函数例子 def定义 retuen返回
def my_abs(x):
    if not isinstance(x, (int, float))://这段是校验参数类型
        raise TypeError(bad operand type)
    if x >= 0:
        return x
    else:
        return -x


//python上例返回1个值 也可以返回多个值
def 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)
//可变参数*
//多个参数传入时函数将多个参数变为tuple来解析
def calc(numbers):
    sum = 0
    for n in numbers:
        sum = sum + n * n
    return sum
//但是调用的时候,需要先组装出一个list或tuple:
>>> calc([1, 2, 3])
14
>>> calc((1, 3, 5, 7))
84


//用可变参数解决 参数加上*
def calc(*numbers):
    sum = 0
    for n in numbers:
        sum = sum + n * n
    return sum
//不需要组装list 直接多参数调用
>>> calc(1, 2, 3)
14
>>> calc(1, 3, 5, 7)
84
//如果已经有组装好的list 调用可变参数的函数 list加上*号变成可变参数
>>> nums = [1, 2, 3]
>>> calc(*nums)
14
//关键字**
//同上可变参数相似 *是将多个传入参数转tuple **将多参数转dict
例子如下
def person(name, age, **kw):
    print(name:, name, age:, age, other:, kw)

>>> person(Adam, 45, gender=M, job=Engineer)
name: Adam age: 45 other: {gender: M, job: Engineer}
//如果已经有组装好的dict
>>> extra = {city: Beijing, job: Engineer}
>>> person(Jack, 24, **extra)
name: Jack age: 24 other: {city: Beijing, job: Engineer}
//命名关键字* 函数中*后面的参数必须传入参数名
def person(name, age, *, city, job):
    print(name, age, city, job)

>>> person(Jack, 24, Beijing, Engineer) //报错
>>> person(Jack, 24, city=Beijing, job=Engineer) //正确
Jack 24 Beijing Engineer

 

python基础入门归纳

原文:https://www.cnblogs.com/hbhb/p/14688873.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!