从零开始学Python

今天开始尝试以自提问的方式学习python这门语言,基本就是问自己一些能想到的问题,然后解决这些问题,来弄懂如何写python了。对于编程语言我已有了大致的了解,作为脚本语言python应该也有类似的结构。我们先来了解下脚本语言的一些特性。

弱类型

相对于java 这种需要声明变量类型的语言 js则不需要声明指定的变量类型 解释器通过变量的值就能推断 那python呢?

java

private String str;
private int i;

js

var a = 1;
var b = "string";

python

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

第一个问题 python也是弱类型的语言吗?

明显是的,我们看下变量定义的时候甚至都不需要一个var关键字。从上面的python代码我们可以知道这个语言的一些规则:

  1. 变量无类型直接声明
  2. 函数调用和一般编程语言类似
  3. 没有代码块{}变现 原来使用缩进来代替代码块 这个有点不严谨吧
  4. 判断语句没有使用()号 而且以:来作结尾

第二个问题 如何处理字符串?

java和js中对字符串的处理都很简单也很类似

java

String str1 = "1";
String str2 = "2";
str1+=str2;

js

var str1 = "1";
var str2 = "2";
str1+=str2;

python

str1 = "1";
str2 = "2";
str1+=str2;

这样获得了规则5

  1. 字符串拼接处理类似js

第三个问题 如何自定义函数并调用?

python

def my_abs(x):
if x >= 0:
return x
else:
return -x
my_abs(123);

  1. 函数定义以def作为关键字 函数名称(参数1,参数2),使用*return *作为关键字返回。

第三个问题 有没有命名空间的概念 自定义的函数和内置函数如果重名先调用谁呢?

python

!/usr/bin/env python3

-- coding: utf-8 --

' a test module '
author = 'Michael Liao'
import sys
def test():
args = sys.argv
if len(args)==1: > print('Hello, world!')
elif len(args)==2:
print('Hello, %s!' % args[1])
else:
print('Too many arguments!')
if name=='main':
test()

  1. 和java的包结构类似,每个py文件都是一个模块,导入用import命令, 命名空间就是文件的目录结构,不同命名空间中变量和函数的可以重复,但要小心不能和系统内置的重复了

第四个问题 常用的数据结构 字典 数组 链表

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 国庆八天的休假说长不短,说短不长,趁着宅在家中的时间,打算从0开始学python。 1.基础 1.1 变量 pyt...
    植树淡季阅读 2,286评论 0 0
  • 滚滚红尘浪滔天 碧海云崖霜满天 沧海岁月泯万物 物是人非泪断肠 清风倩影归 明月照山林 芳踪随月泯 佳人何处寻
    红尘求道阅读 3,043评论 0 0
  • 女儿四岁半了,开始练习骑两轮自行车了。 我煞有介事地准备大干一番,为了的是记住参与孩子成长的快乐。我把那辆尘封已久...
    点点思绪阅读 5,126评论 0 2
  • 都知道在小学阶段培养孩子的阅读习惯很重要, 可是,家长应该如何培养孩子的阅读习惯呢? 今天为大家推荐一篇实用指南,...
    上善若水的阅读日阅读 2,523评论 0 1
  • 多么奇怪,昨晚你又入我梦。真真切切已经15年没有谋面了,可是你竟一次次闯入我的梦中,而且梦中你依然是昨日瘦削的样子...
    记搏阅读 1,417评论 0 5